home *** CD-ROM | disk | FTP | other *** search
- Subject: v24i097: psroff, Troff to PostScript filter, Part02/19
- Newsgroups: comp.sources.unix
- Approved: rsalz@uunet.UU.NET
-
- Submitted-by: Chris Lewis <clewis@ferret.ocunix.on.ca>
- Posting-number: Volume 24, Issue 97
- Archive-name: psroff3.o/part02
-
- Submitted-by: Chris Lewis <clewis@ferret.ocunix.on.ca>
- Archive-name: psroff3.0/Part02
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # The tool that generated this appeared in the comp.sources.unix newsgroup;
- # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
- # Contents: fonts.lj/B.10.pk.UU fonts.lj/S.36.pk.UU lj.c
- # Wrapped by clewis@ecicrl on Fri Apr 5 20:55:57 1991
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 2 (of 19)."'
- if test -f 'fonts.lj/B.10.pk.UU' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'fonts.lj/B.10.pk.UU'\"
- else
- echo shar: Extracting \"'fonts.lj/B.10.pk.UU'\" \(6381 characters\)
- sed "s/^X//" >'fonts.lj/B.10.pk.UU' <<'END_OF_FILE'
- Xtable
- X !"#$%&'()*+,-./0123456789:;<=>?
- X@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
- Xbegin 644 fonts.lj/B.10.pk
- XM]UD``*``````````!":N``0FKM`0J0```!@)"/P<%%4W-D955'+0$:@````8
- XM"@CV'$151S8V-51B@.`0LP```"0)!_,</C&P>#P;&/BP$R$````/!AW\'!0=
- XMCG%#XRST',%!T!\B````&1$._AP49"]D8?<W%!%$$?89'U&17QD4*"09%<`Q
- XM(P```"@A)?T<TN(W/6XS<];C-SUC<X`U$!.S<];D-SUC<\!5@W/6XS<];C-S
- XMUN(W/2#`0B0````8$2']'H\L>+5"(C,T)"(E)"$U(W]2*4(J,C,7$HI\;&QL
- XM>I(6(5(E$T(Y\R1T)%8D(B4C,C0C)#,A1:EM'R?`<B4````H(2']'E35)R0M
- XM(V-2T$4V258W$I$V1RHW1RE'1RA(1R@Y1R<Z1R9*1R5,-Q8]`V)3TC4533)!
- XM5-9&-TU38D'3134=(U-BT#8W'$5'*D9'*C='*3A'*$A')TE')SI')CPW%DPV
- XM)CT346/3)!@M5$#`428````E(!W^'*3=,RVC4=E%+8-BUT8M=5+75"V%0=E3
- XM':4AW&N67)9=(J;0+%PL>RL2:2HR:"HT9RE%92I&8RI6<2M7C&=Y(EEH(F:D
- XM-<.X>73`%2<````-!P[]'!0O8=$4$?8?45\4)!70)B@````3"RG\'J&1@H."
- XM@H-_-T?S?B1E;H1U?B2/.$CSDY*BDY*QL=@F*0```!,+*?T>&QLI.2HI.?.$
- XMCSCB1UZ'1EXF1_-T?S<X*"@X*!D:T"HJ````&!$2_1YSU=.!4U$4,SDC*Q,6
- XM)1$5?W=1$5)A,;(RDS-!%348/5TWT!$K````)1X?_1D!#M/07.T!`]#`%2P`
- XM```-!P[]!10O8=$4$?8?45\4)!6H"2T````0"P3_"M'`#"X````-!@;]!10=
- XML4'0*B\````8$2G]'@$2\!`^+3WSWB/>(]\]XCWB/>(]\]XCWB/?/>(]\P$"
- XM`1#0(S`````8$QO^&F>D-'-S5'1#DSXDE!ZUE?%)0SDT1T4W-T-*=L`3,0``
- XM`!@1&_T:DM!*=K9"7.UE?]/`,C(````8$QO^&EB<8U<T=A9U%GSX44E=!OT%
- XMT%T%T4T3TCTCTB@F*24J)!LSTCTRU!_5$,`P,P```!@3&_X:9YQD551E-74F
- XM925U,X70]=!-%+?43372]=%B*6%(SWQU)'4T96R88,`N-````!@5&_\:TBU3
- XMU$TUTFT7T"%<(EP36R-:)%DE6"97)U8H52E4*E0!WEQ;_1#`*S4````8$QO^
- XM&C*B70;'N*E\XRU")I13<G51E-)='B84B_BX44E2*50V5LEWP#0V````&!,;
- XM_AJ6JH1B9&1$931U-(,_31714U91)#11%D)H,FA!XUE?%)44E#2$-'145(JG
- XM8,`G-P```!@3'/T;$M3]4=0OTR.R,K)"HE*2T_+3+3\])-(]+C31Y5TCH-`R
- XM.````!@3&_X:9ZQC=$*C0K,CLR2C)H,H4SE"6A)[FYQ3&D-))&R:J>*T%*,D
- XMDT5D7*=@P#0Y````&!,;_AIGJW145'0TA#24'UE!XUE12&(X8D815#0A5E-=
- XM%?T4,X4E=#5S1'135(JG@+`0.@````T&$OT1%!S!3:0<P4&PL````-!AK]
- XM$10<P4VC)1QA7U'B04%!04"P$[@````/!AW\%!0<P4S^,CYT'8%!>`T]````
- XM)1X-_1"T&5![T=`AN0```!<0'?T45+XVM`3^0M/?+3P\2TM7,?5J=!2",V-9
- XM0-`A/P```!<0'?T<2&)D,H04>O91-UI;2SP\/?+>0@3TOC:T<+!,0````"4>
- XM'?T<N,<X/"+"*RQ"DL8G+()2AH)!<T*!,E1Q<B)4=3(?)4A43D185$]4A4(2
- XM5'5!(E1U,C%S0A0Q0H8V8M$M$M$L9(.GP;C`-4$````D'QS^&]'SWN)=SWVI
- XMV?(6V/(VUB1]4E;4-7T_)VTBEM'4T-;/*VORT&D]!X+29/I]$,@N0@```"(<
- XM'/X;V'VX:6=J9FM6Y&ME:U9J5VAHUI:E=K5FME;%7D;&]&ME:7+;39;`.$,`
- XM```B&QS]&[AQC0,V=W5<5%T4-=,R74,EU2%M4A76CGV5UB%M4B75(EU"1=,E
- XM71)UPI=SS1TX@,@P1````"4?'/X;V*V[:7EK:&T%=M!F;15FT67VTE7G;2;B
- XM1M)5]M%6;05VMH:77;?8H,@V10```!\;'/X;_;=I5VLW;"?VPVXF4F)F4M%D
- XM/1_0T60]'V4M'V4H)&T3]&T27VT#5L16I2_<(,@I1@```!X9'/X;_;5I56LU
- XM;"7VPT;0+T928O1E+&0\_0QD/.-E+.5M+].0P#Y'````)B`<_1O(@<T3.G>(
- XM;&==-&7416U35=8T;7)%V"/E;=]KTA749&TV5=-E;29ETF==%H;&IWC-$DTI
- XM8C#(%T@````E(!S^&_T4T>E&QH_;CK;&3]%-$+@-20```!(0'/\;U.RU9=3`
- XM&TH````9%!S_&U_2[4ME)V1&8_96-E5457-%J(#(1TL````E(!S^&_T7M&T3
- XMEM`Z;#MK+0:BT6@])G/39CU&4]5D358VU&)]21;3@GTG1M)F;19GT&=M!H;&
- XMEK:7IJ:FMI:W3]%-$,@=3````!T8'/X;_3SM%M7B;"]<:R5J-6E%9V']H0
- XMR$!-````+2@<_ANM?8U;1]5XXB%=,A6/(ET2)8\C7"-8\D6B18XB58)5CR96
- XM)ECR=4)UCRA2*%CB*7E8\J6E3Z<WT,A23@```"4@'/X;^[I(T2B=`H(7PH(G
- XMLH(VLH)&HH)6DH)7@H)G<H)W8H*&8H*64H*70H*G,H*W(H+&(H+082@M"8+1
- XMB"TG@M-H+46/+51*TC2M,D#`-D\````D'1S]&ZG455T$E*6U==!63215TE-M
- XM)B]=11YVU&%=12]M)C725&T&5=!76UI)3055U)K((5`````A&QS^&]AMJ&AV
- XM:E9K5>1K;T:U5J5FAGU9ZFU/T=#`1E$````D'23]&ZG455T$E*6U?UT%5=)3
- XM;28O744>=M1O%=12;28UTE16-E54$R-74A4A6D$6709%U+<=8G'6-2_6K]>-
- XMEMM#R#12````)"$<_AO7T-K1:&T&I<:UOD:VIK6VI<:%T=/49UTFA=%H;0Y6
- XMEL]I9B1J9=-U0AT9@L`W4P```!L4'/T;6%%,$S1V)*0CPQ3#'TT"%=)]"ZT7
- XMT6TGT7T:K2;273;]%M$Q/0,4LR:$(QQ!6`'U0````A'!S^&Q_=)&9D(W9S
- XM(H:"$X:%XY:2[2MM/]50R!]5````)2`<_AO]&*[51M,I73*5TBM=`\6ST6=-
- XM/1V)L,@Z5@```"0A'/\;_1FD;4*?;2*GT#MM`L>ST&LM%Z+2]I+4]G+5=3UF
- XM4M=S/88RV7(MKV$MSB?>]0$//2#(6E<````Q+AS_&_T3T5I&MM`H:WPH>VLY
- XM:VLJ:HHK]IB2QW(F<]!G(F<M%F,G8M%U)&4])E)&4M-D-'0M3V,F8RU7$H83
- XMUF$H82UYB=>*C8]Z?:]<7;313<\]$]#`0E@````D(1S_&Q_13'>RT7D])W/4
- XM9RU74M=S/88CV7$MN-WWWGWGW(VZVB)]@D;7-'U39]0H;3*7T3I]`L>RT'7\
- XM;2#(+UD````D(1S_&_T9I'TCE]$K?#M\+0>BTG@])X+4=BUG0]9T+8<CV:VI
- XMW(W>EMK]&<`X6@```!T7'/T;']@FAC27,Z8_.F0J92EU*6TVTWTVT_;3;3>"
- XM9I)6HD>B1J,VLS:C-K,GI":6']D0N`Q;````#0<I_![,[63)N`Q=````#0<I
- XM_Q[)[63,T!1>````&`T'^QQALY5S$T0T$W,1D1#`%6`````-!P[^'%%"3Q7Q
- XM7Q810='Q8D'`*6$````7%1+_$4FS5(55961E96-UTUR88E9554=45U/B6%1'
- XM$454$G1T8,@F8@```!L7'?\<^-7H754GF$1V@V647UI$Y5I?-:1%E%:#9!)4
- XM<T9PT"!C````%1$2_A%H<U-35315)&4D<RY5U-2B))(S@E-3AT#`)&0````;
- XM%QW^',^-7H6F)7178X94E4]*4^5:5/2E5)5CAG1+9RC`(F4````6$Q+_$7>4
- XM4V.#1),DHR2I^M_BTDTELB2R-))48Y=0T!MF````#Q(=`!R7E#-T-51%145%
- XM4UY%G]GM6OQ0P#1G````&!4;_Q%G-%-4(S14(S-S(CXT='-SA%234Y(7L=?R
- XMUM"-)])=0DJN+003T#)+1$=(M<@<:````!L8'?\<^-;H765&E2(TA1%D?V=6
- XMZEA3^RN0$FD````."Q[_'31N-F3<^&ZC4ZS`&VH````/#B8#'92>-I0$[X[4
- XME1-:2D05-#-#9E#(+&L````9%AW_'/C4Z%U/5)16.%4Y5"M3+%$]"LNV%+4E
- XMI3651)5%A55U93^CD,@-;`````X+'?\<^&[;4]G8(&T````H)1+_$81G9H(C
- XM1"-(419"%D?V=G5NI86%/[*RL-@8;@```!L8$O\1A&:"(TA1%D?V=6ZEA3^R
- XML-`?;P```!@5$O\1=[14<Y-4E#]+0>5;7Q2T-)14='14MW#()W`````;%QK_
- XM$8)VM$=G1EE%651:1.5:4UI$651916=&=4=2:N5=+[S`*7$````9%AK^$692
- XM=$(C9&94A46%1)4^595$E46%5(5C=G-7EB74Y5T?L-@7<@```!01$O\1<U)R
- XM$S3B01-3533I6?Q0T"!S````$PX2_A$W$C)4(H(?."%*EJ2UIIE_EH:"%5(B
- XM)D#`&70````3#AK_&6XROSKTC=Z#6>-4)$060B=BV!9U````&Q@2_Q'X6&ZU
- XMA65V=':$0AAV.,@B=@```!D6$O\1^E<UDF9S=7*&8I]5*_4RT/42T8TO;4]-
- XM8J#(-W<````B'Q+_$?DY-_-65R9E5C=592A4(44I4R%$*E(Q4RIA(T([42-1
- XM+'5!+0]E;15UTD=-/SDXR"=X````&182_Q'Z.39BE5.E,\43T7TFU%U5TWT3
- XM%<,ELT6B98*%/X60R#)Y````&18:_Q'Z5S629G-U<H9BGU4K]3+043T%$M)]
- XM+VU/36\M8[-2M4*U,L4BT3(M-=+`*7H````5$1+_$2TB15,F8R93)E0E9"5;
- XM6VIK5216(V8C5C)7(F8R5D'3$,@)]@```!@7`0`+VM`/K````!@/!/P<-'$L
- XM+"%T,-`3JP```!@/!OP=(U,U-1]C85-3-3+0$/X````@&QS^&M["P#CJTL`X
- XMP%32````(!L<_A>GU2<M$K*QTAD=07'4$14=03%!TQ03'3%A(=(7$1TADM$:
- XM+0&R_!PK'0*AT2D=(1%QTA(6'3$Q0=,4$QU!41'4%QU!D=(;*RT2<M5ZP!]^
- XM````(!L)_@Y5TQ.-(2O0$45+6%A;14$="R'2@QTU4,!,^P```"HE'/X7VBHM
- XMA(362$USD]=(362$UDA-<Y/72$UDA-9(37.3UTA-;TA-I(3:.3VDA-I(3:2$
- XMVCD]I(3:2$VDA-HY/:2$VDA-HJ+(3/T````J)1S^%RHMI(3:2$VCD]I(3:2$
- XMVDA-HY/:2$VDA-I(3:.3VDA-KTA-9(37.3UTA-9(362$USD]=(362$UDA-<Y
- XM/72$UDA-@J+:T#N]````$@LE_1PU4D$S42)E]681.2DY*BDW(B0S(R0Q-2'B
- XM-3$E,30C(S0B)SDJ*3DI,19O56(A4S%"53"8"5\````5%0,`]]6("7P````,
- XM`BG['MD8"OP````9%!7^%`\@P"L\````(!D8_179/7363636363636363636
- XM36]-I-I-I-I-I-I-I-I-I-I-H\@K/@```"`9&/T5/:3:3:3:3:3:3:3:3:3:
- XM3:]-9-9-9-9-9-9-9-9-9-9-<]G(+%P````5$"G^'O+2XBTN(M+B+2XBTO+2
- XMXBTN(M+B+2\M+B+2XBTN(M+B+2+2$-`;>P```!4.*?T>I(.CLK[#LK.3A-/3
- XMPL[#PL/#U-@;?0```!4.*?T>33T\+.P\+#P]2#H[*^P[*SDX2L`WNP```"`9
- XM'?P<U%UB0=,V'1-QT2D<.1PW.S<\.!T//8XCU;U.,]CC/4>A6:%"18%15T-1
- X',SB$=8#U]M,V
- X`
- Xend
- END_OF_FILE
- if test 6381 -ne `wc -c <'fonts.lj/B.10.pk.UU'`; then
- echo shar: \"'fonts.lj/B.10.pk.UU'\" unpacked with wrong size!
- fi
- # end of 'fonts.lj/B.10.pk.UU'
- fi
- if test -f 'fonts.lj/S.36.pk.UU' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'fonts.lj/S.36.pk.UU'\"
- else
- echo shar: Extracting \"'fonts.lj/S.36.pk.UU'\" \(23815 characters\)
- sed "s/^X//" >'fonts.lj/S.36.pk.UU' <<'END_OF_FILE'
- Xtable
- X !"#$%&'()*+,-./0123456789:;<=>?
- X@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
- Xbegin 644 fonts.lj/S.36.pk
- XM]UD``E``````````!":N``0FKG%6(0```'-JD_5NWCWO7<;<7<;<]=QMQ=QM
- XMQ=QMQ=QMQ=QMSUW&W%W&W%W&W%W&W/7<;<7<;<7<;<7<;<7<;<]=QMQ=QMQ=
- XMQMQ=QMQ=QMSUW&W%W&W%W&W%W&W/7<;<7<;<7<;<7<;<7<;<]=QMQ=QJ4:Y:
- XM4JUJ-:Q:-JMJ*`JEHH&J6@@ZEI\R@*A9\S@*=IXF@*99TW@*5IPX&`I%GA@H
- XM"C:I@*-:N`H6JX"A6M@*!:V`GVK8"?6O@)UJ^`G5L8";:Q@)M;*`FFL_@)E;
- XM6`EVM8"76W@)5K>`E5N("4:Y@)-;J`DFNX"16\@)!KR`D%OH"/6^@(YK^`C5
- XMP(",;`@(Q<*`BFPH"*7$@(AL2`B%Q8"';&^`AER("$;(@(1<J`@FRH""7+@(
- XM%LR`@%S8!VSO@&7/@%;0@$71@#;2@"73@!;3@!75A=6$UX/7@MGX'9@-M]MM
- XMU=U+D)%K)````*211/="KZ/<HL6KTJN^L<RPNK7(M+>XQ+BSO,"[L;^]I:2@
- XMKL.YHZN:NEBNMZ*OBIHJ:LLZ*RBGH:NJL:&V>FFOJ:^@N7I(LJFMH+MJ.+6I
- XMJIOFH8MZFHG`:@>YJ::<)9>[J:2<-H:]J*.<57:_J*&<=6;`J)G(56PJAYRE
- XM1<2H6<M47%J$C-0UQZ<YS5)<BG&<Y27)K]!"3+K=%!7+K=&@S*O2H,VIU(SZ
- XMC4C0I]2->XT:C2C2J-&-.GT8U*?0C4J,^-2IS:#2J\R@T:W+44T:W+0DT*
- XM_)4ESI&GR%)<V3I\=33-A*C%5%RY6HQ%1<J7J,)E7(F:C`9EQYH:B_9UQ9HZ
- XMB]:&PYI*F[>5PIIJFY>@;`FHJ;>*%KZ:JIM8HVNZ"MJ;**1[F@KZFOFF>VH;
- XM&JJZ&GBRHK.LIJ*IBOHK>NBEJYJZ.YPZZ@I*6]O[&[P+RSN,2XM[3(M;JPS+
- XM&^J]*KQ:+<HZ\&!-)0```(!M7?=4GQT7++=LCWC&>L3B?,+B?L+B?,1ZQO>,
- XMAVRW+1$`DN_4$.#QU`"2X=%RRW;(]XQGK$XGS"XG["XGS$>L;WC(=LMRT1GP
- XMH2DF````?VQ$]T*\L`%+"YN-NTMKW6M[7!T;FSQ<V[LL?*M7&PR\>QO+)[G$
- XML;VK2WP:OYN+:_J_B\M;V<%[^TNYP7P;2YC"?#M+>,-L6TM8PVQ[2SC$;(M+
- XM&,1LJTJ,5<RTB,5LVSB,5<^S:,9="S2,9=*S-\==*S*,==.[R/35N<A=:WR5
- XMU[;)38M<I-FTRDVK/*3;LLI-NSR4W+/(3=LLA-VSQTW;3&3=M<5=NVQ5V[?%
- XM]-JYQ$V;O#77@K/"77<[/#36A+/"74AK/!73B+/!72B+3`71BK3`7/BQM+]L
- XMV+.TOUS(M;2^;*BWM+YLB+FTOFQ9N[2]?#F]M;Q\"K^VNWOJP;>ZBYL<2YMY
- XMM;''O[&Q>URKVSQ,V\M,'1NK:]UK>XN-NUO+`!2PH.,J````?TY/Z$TD`80E
- XM`747`5M`$[8!&1G?DJW:.MNEK9IZUZFM6K"M.K*M&K2L^K:LVKBLNKJLFKRL
- XM>KZL6L"L.L*L&L2K^L:KVLBKNLJKFLRK>LZK6M"K.M*K&M2JK6J*V*:MJDK<
- XMHJWKD!"W`2M0%+,!:Q`8H!BQ`6LP%+4!*W`0N=ZBK<I*VJ:MBHK6JJU*L:TJ
- XMLZT*M:SJMZS*N:RJNZR*O:QJOZQ*P:PJPZP*Q:OJQZO*R:NJRZN*S:MJSZM*
- XMT:LJTZL*U:FM>GK9I:VZ.MVBG?D9`1M@$[0!5Q4!=30!A!!P#RT```!_8@?R
- XM*1_8$,[QV!"0D#P```!C3$7U1]\=]-Q]B@UJ'5HM2BTZ+4HM2BU*+3HM2BU*
- XM+4HM.BU*+4HM2BTZ+4HM2BU*+3HM2BU*+4HM.BU*+4HM2BTZ+4HM6AUYV:'8
- XMHMBBV:+8HMBBV*+9HMBBV*+8HMFBV*+8HMBBV:+8HMBBV*+9HMBBV*+8HMFB
- XMV*+8HMBBV:+8HMBAV:#;?=0!`2"0D#T```!C3$7U1R$!!-U]N@V:'8HMBBV:
- XM+8HMBBV*+9HMBBV*+8HMFBV*+8HMBBV:+8HMBBV*+9HMBBV*+8HMFBV*+8HM
- XMBBV:+8HMBAV9UZ'5HM2BTZ+4HM2BU*+3HM2BU*+4HM.BU*+4HM2BTZ+4HM2B
- XMU*+3HM2BU*+4HM.BU*+4HM2BTZ+4HM6AUJ#8?<3?'?"(7D,```!F6&CZ9YB1
- XMP$XMM-R6FZ:=F)BLF)F6KY::E;&4FI6SDIJ5M)&:E;60FI6VB:^5MXF?E;AY
- XMGBE;EIGY6Z69^5NFF.:5NUF..5O%[#EY70E\Z9RYZ\X[BNF)2:K@821$````
- XMB'=L^&NB7:<-CW+6]TU/=M+WC0]ZSGS,]^RF%YR5)YR&-YQU1YQF5YQ59YQ&
- XM<'G#5R>,)G)YP5='C`9T>;[V=GF\]GAYNF>GFY5[>;AGQYMU?7FV9^>;57]Y
- XMM&@'FS6">+)H)YL5A'BP:$>:[VAGFL]HAYJFBGFI6+>:AHQYIUC7FF:.>:59
- XM!XI&D'FC62>*)I)YH/:4>9[VEGF<:8>9M9EYFFFGF96;>9AIQYEUG7F6:>>9
- XM5:!XE&H'F36B>))J)YD/:D>8[VIGF,:H>8M:EYBFJGF)6K>8AJQYAUKGB&:N
- XM>85;!XA&L'F"]K)Y@/:T>7YK9Y?5MWE\:X>7M;EY>FNGEY6[>7AKQY=UOGAV
- XM:^>75<!X=-9R_8</VE_</]X0_H$]2````']L;?=JMI7?H=:GT*W+EI.6QI6;
- XME<*3H9._DZ63NY.ID[B3JY.UDZ^3LI.QD["2M9*NDK>2JY.YDZB3NY.F^3O9
- XM.DD[^3HI/!DZ"3PY.>E,.4G)3%E)N3QY.:E,>4F/E,F4EOE,N4E/E,V4DI7-
- XME9&4SY20^5SY6)31E'^5T959;1EDXI73E3EM.6+BEI!;=9"6+Y616W61E1Z2
- XMEI'!D:7Y%;=9&6\9616W61E2EI!;=9"6+BEM.6/Y73E4EM&67BE=&5?BE<^5
- XMD)3/E)&5S962E,V4DY7+E924RY26^4R928^4QY2:E,64G)/%DYZ3PY.?E,&4
- XMH)/!DZ*3OY.DD[V3II.[DZB3N9.JD[>3K).UDZ^2LY*RDZ^3M).MD[>3J9.[
- XMDZ63OI2AE,&5FY7%EY.7RJW0I]:AWY6V<1M+````<69L^VNI39;7XH#5XH+3
- XMXH31XH;/XHC-^*R^*,R6&'R/4H?'8X?&]4A\5EA\16A\17AL-GA\)8"'PE@8
- XM;!:!A\!8*'P%@X:_]82'O6A8>\]8:'NVAX>Z]8B'N6B8>X6*A[A8N&MVBX>V
- XM6,A[98V&M6C8>T6.A[18^&L_60A[%I&'L/62AZ]I.'KO64AZUI6'K/66AZMI
- XM>'JEF(>J69AJEIF'J%FH>H6;AJ=IN'IEG(>F6=AJ7UGH>C:?AZ+UH(>A:AAZ
- XM#UHH>?:CAYY:2'GEI8:=:EAYQ::'G%IX:;:GAYI:B'FEJ8:9]:J'E_:KAY5Z
- XMN'E7K(>3@*R'DH*KB)"#JXB/A:F*C(FFC(B/H)&!XYB5JX"&E8F"AH`V3@``
- XM`&U>:/EG+I$!%(T8-]5RXVUV+F794`0PYUNUI^D<6GYUNU`%2>==N2Y-EA;7
- XM8HTX+I$!,8@V4````'MN:/IGF(PX`!@).9N9FAE[F7I):YEJ;MZ5N96FE[>7
- XMI)FUF:&=L9V3X[69QI.8F9B3F'$B4@```'9C:?=H'63BUTV$BJB56*KHYHFR
- XMBFBK.(>*M(:`BK6$@(JV@X&*MH*"BK:"@HFV@H**MHBK:`A(JU@(6)MGA8
- XMJU>&BK5H>*M&AXJT>'BK1HB*LVB8FS:)BK-8J*LEBXJQ6,B;%8R*L%C8JP6-
- XMB;!8V*KUCHJN6/BLJ)RHK*BLKXK*BLJ*RHG*BLJ*RHK*B<J*RHK*^*RHG+B,
- XMR&S87/A-""TH#2@--]-]-]-]-]-]-]-]-[!99[%95[)92`LEDX"R:2@+-9-[
- XM19)[59%[99![9H][=HY[AHU[AXQ[EXM[IHM[IXI[MXF`NH"(@+N`AX"[@8=[
- XMN"AGO(*%>\@X1[R#A'O(2#>[AH)[J(@7N8J`>VCG>OEFU5UDUDXM==9`H))3
- XM````/#U3^T+)MLR_Q<3`R;RSL+*YLKB;BKYK>L,;>M>=B-B=B-F-F-F-GXV8
- XMV?C9C9G9^-F=GXV>2=GBK8L-?['6LM:RU;/4M=.VT;C0N-"YS[K.N\V\S+W+
- XMOLN^RK_*O\J_RK[+OLN]S+O.NL^XT;?2M=2SUK'7^PV/K9G9C9G9^-GXS"L(
- XMS&:<VYS[;2L]>;ZPI50```!_;&OW:L60')TL4!3%S,K>RLG-VLW&T-C0P]/4
- XMT\'5TM6]?0UZV,[8G:S-I_W,K<7"K&R,:L)+Q,3&Q,2SG)P\3#R9*,S!Q,',
- XM@GSL'"P<YR;0P,+`T&%M+`P,#2P-.\"].]6ZO5K6JJUJUKB]:M>HK743V*BM
- XM@][Z:@-_I*`Y^4D#OCDI`]X\8#_EQ`0>`9P@0<0#_&`[S`*N,!@!S'PL?0#!
- XM*E4```!V8VGW:-O6T-8"/C`F`QV@0M0$;2!([-`$;6`]`2`S`:`L`@`FU"T"
- XMU`(-)]!](!O1K0K1`7T-#0T-`!3-+0TL`1S4T-3-[-70U<V\U]#7S8S8T-C-
- XM;-G0V<U,VM#:S2T-K0VM#0T-O0V]"]#<T-S0G1W-#<T8T-W0W=!_T=W0W=%?
- XMT=[0WM$_TM[0WM(M'?T-_1'HTM_0W](='?T-_1+]+>T-[2/]'>T-[17]'=T-
- XMW1?0W=#=T(T=S0W-&=#<T-S0O0V]#;T-#0VM#:T-+-K0VLU,V=#9S6S8T-C-
- XMC-?0U\V\U=#5S>S4T-3`$<TM#2P!30T-#0T`%]&M"M$!O2?0?2`@U"T"U`)@
- XM(`+`&@,P$@/=8$;LT`2-($;4!"V@,>,"8"/6T-;;<0=7````?VQI]VB4BX6+
- XML>.KOX_0B=2'UN@X6IAIB%F888F6A9>;E866BABI2%E8IH>3A92'@X>2A9.'
- XMA8>1A9*'AX:1A9*&B?AI"%D8:+^&CX60AHWBA8^%D(6.^&CH6/AH_H2%CH6/
- XMA9"&C86.AI'DA8V%CH63XH6,A8V%E82,A8R%EOA8N%C(67A(N%BX68A8J%BX
- XM69A(J%BH6:A8F%BH6;A(F%B86<A8B%B82>A8>%B(6?A(>%B(2AA(:%AX2BA8
- XM6%AH2DA82%A82FA8.%A(2IA(*%@X2KA(&%@H2MA7A8"$L8585H6SACA3AK>C
- XMNY_`FL63SHG5Z$A=:'U(G0C[_CJ[&+A8N5"1.E@```!V9VOY:L&G`6L]R[U<
- XM'0J*&HRZ:KIL:EL:7#I+6DP*2YI+RDO:2YI+^DMZ3!I+2DQ:2QI,>DKZ3)I*
- XMVER:6KI<NEJ:7-I:?Z7/I:6ET:6CIM&FHJ73I:&FTZ:@I=6EGZ;5IGXZ;7IE
- XMI]>G3J"FV:9*?7IUXZ;7IGXJ;5III=6EH*;3IJ'BI=.EHZ71I:6DT:2FI<^E
- XMI_I,^DJ?I,VDJZ/-HZWZ/+HZ^CR:.QHLFBLZ')H;2BQZ*UH<>AM_H<6AN:#%
- XMH+OZ##H+V@P:"_G!G!C!C"F_G#B_C%>_>N6IB]BIH*I[UZI16IB[BI4O6J>[
- XM>J4EJVNVJU):QKEJQ3]:MKEJM46L6Y6L5%K&MVK%1JQ;=:QE6L6W6L5FJUMU
- XMJV:*I+=*J&^WM;=^2VM;:+:UM:"UM;6@M+>T4&DD60```(AW;/AH#^\=X_W%
- XM_:</V'+6='C`5U>;YG9XOE=WF\9X>;M7EYNF>GFY5[>;AGQYMU?7FV9^]YM&
- XM@/>;)H)YL&A'BP6%>:YH9YK5AWFL:(>:M8EYJFBGFI6+>:AHSWFF:.]YI&D'
- XMFB:2>*)9-YH&E'B@65>9YI9YG5EWF<:8>9M9EYFFFGF96;>9AISWF6:>]YE&
- XMH'F2:B>)):-YD&I'B06E>8YJ9YC5IWF,:H>8M:EYBFJO>8AJSWF&:N>81K!X
- XMA%L7F":R>();-Y@&M'E_6U>7YK9Y?5MWE\:X>7M;EY>FNO>7AKSWEV:^>71L
- XM!X=%P7ER;">')<-Y<&Q'EEQ7E6QGE%QWDVR'DER7D6RO?LQ\SO>M#WC2]VU/
- XM=-;W+8<-I:*A8%H```!65&_Y;,^R`8N@$<#<Q-FQFRU:MK#2B[K/B_K,?"K*
- XM?$K(?&K';(K%;*K#;,G#;,K!;.J_G,L+ZPRZOK'*L+RSRJO/L\JPNK3+JZM,
- XMNPN?L\RPN;+-L;FPS["ZG0L+Q=*P`>Y['P'++,LKBRR+FULL6_LK+"P[&RP+
- XM2:JROK*UB+.]L+MGL[NPOF:SNK#`9;.XL<)5L[>PQ5.TMK#&4[.UL<A2L[2Q
- XMR5*SL['+N;*QS+FQLLVWL;+.M[#[+/MZLM&UJRTK6;/2M9LM.TG[/3M(L]2T
- XMBST[2+33M(^SU+.+33M(^SU+.+34LXM-.SFSU+.;/4LJL].SFTT[*K/4LJ^S
- XMT[*P^STK*QLM.QLOLM*QL[+1L;7['0L;:QS[&WL<^PN;'-L+JQS+"\L,NQO+
- XM'*L+ZPR;#`K(L,&PQJQ+##L,:L*PR*P+#*J]L,VKJQT*MK'3LIL]?%V\'?O`
- XM%K/4<-)<````?V*"\F;533?1@LZ$S(;*A\F)QXC(B,B(R(C(B,B(R(C(B,B(
- XMR(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(
- XMB,B(R(C(B,B(R(C(B,B(R8?*ALR$SH;-A\N)S(C,B,R(S(C,B,R(S(C,B,R(
- XMS(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,
- XMB,R(S(C,B,R(S(C,B,R(S(?-ALZ$T(+2?54`F?UCV!#.\=@0<-%>````?V*"
- XM\F84UGTH+0A,Z&S8?+B<R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,
- XMR(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(
- XMC,B,R'S8;.A,R&RH?)B<>(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,
- XMB(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(
- XMC(B,F'RH;,A,Z"T7TU`)^M8]@0SO'8%("E\```!+2P4`W@\@L1UA````:5M$
- XM^4+9P`+L@"C.`CT0(,)\`!S`PJ`:O&H!:\FLQ,B\NLIL6\V\EL2\^\A<2]&L
- XMA<.]*\9L*]2\5L'`U+Q5P<#6O#;`P->\-KP-B\)KP=C`P6O`VKP5O!VKP&K!
- XMV\"VK!V\"FK!W,"FK!W;EJP=ZY:L'>N&K!W[AJP=^W:L+?MVK\$!"V:L(!"U
- XM:\(!"T;`P0$<`VP,$!'`)L'!`1P!;!P@$<`6P<$!+&POP0$L7#P0$L3$P0$L
- XM/%P0$L+&P`$\''_``3P,GBL!2\G``3O*L!'!RK`0PLJ]_#R[W<3+O;QLR]ER
- XMO!1ZUX.\!7O4AJP%B]&7JVFL^:J7J\JL"I;!K&O#IVP\"L+&E7QM3)Q\G/SL
- XM3,RM+!TL':BPH8YB````7%F*_&L!.Q`>N`&+T!3!`0L8L-Z;2=N;>=B;J=:+
- XMV=1[^M&,&=!\.LY\2LU\:<Q\>LI\BLE\FLELJLALNL=LRL9LRPQ7S+#%;-L,
- XM1LZPPWSK##;.L<)L^QPFS[#";0L,)L^QP6T+#";/L<'VT+#"70L,)M"PPFS[
- XM#";0K#;/L,-<^PQ%SK#$;-L,5KFT6L9;?%QUM<7(:TQ<EK1["RREM6L+3)6U
- XMQL=K;&QFM[HJQ5NK1ZQ%T+#";1K";1L,'UT["_;3L+]M2POO75L+WVU;&\]=
- XM:QN_;6L;M=>QNUUK*Z]M:RNO77LKGVUK.Y]=>RN?;6L[EM:RNEUK.Y]M:RNF
- XMU;.Z;5LKI]2SNHT[*[C3L;R-*RNYT;*\K0L;VL^RO:S[&]L<VQOK',L;]2;*
- XML<!3;(L<!C;'L<%D;%L<)6;#L,17;!L,1H>]L<5IBZL,=;";6RR%LK";/):S
- XMQ,MK6_SEN;G16]L=3V`H]0*/8"CU`H]@*/4"CV`H]0*/8"CU`H]@*/4"CV`H
- XM]0*C`J"`V&,```!456/^0J&2SIBP.<G:U9F@JVF*.I:6IJ=I:HIFE*ND:4K:
- XM-I.OH6D["A:2LI]I*8DI>?:1E9F5G6D9.?DYQI&1HY&;:1D*:1FFD)"HD)EI
- XM&*J)EI"*R)=I%ZYY=I!Z^)5I%K%Y5I%K)I1I%K-Y-I%K1I-9);5I)I);99)I
- XM,[=I!L=I!LA8;)9VR6=<IF;+5FR_56S/8VSE-<_U)L_U%M!171^2T>*1TN*0
- XMT_C4XGU>)M9=;C;5XFU>-]3B?4^-3WU/C4]]3XU/?4^-3B?5]M5]5M==@JJQ
- XM%60```!(0FWY:]^P&,4!+*WLW<MZV*P8UIQ7U(R&TXRFT8RWSXS6SHSUS9SU
- XMS)T3S9`<^0'.*0'.2@'/L!O``:P0&<(!C#`7Q0%L4!7&`5QP%,<!3'`4QP%,
- XM@!3'`4QP%,<!3'`0R]W.VM'7P2Q=6VQ-.YQ-&[P\_`P</-O$PLR\;"RKR,')
- XMO*P,C`R[Q\#-O%P,Z\3`T*P\'1G#P-*<+!TIP?P=2,#!U8P,'6>_P==Z_!V'
- XMG"V&K\'8>?PMAYP=EJ_!V'G"V'GBP=AZ_!UWO!UVP,'6?`P-=\#`UGPKUGPO
- XMO5?#P--\6]-\6])\:]%\B]!\B\]\J\U\RLQ\ZLI\^\B-"L>-*\1]:L&-C`>M
- XMO-W\H!+&`8O6L'1E````0C5#^$'7Q=/+S\[-T,K2RL37PMG"VL':P=O!V\#<
- XMP-S`W,#<P=O!V_P=O!V\+;P=O"V\';_"V]^>,!&,';PMOFP=SBP-[[WN+`WO
- XMO?^]^M^]^@$*W[TSF]!IK/>KRYP*R*PKP[QL",')TLW.TLC9P,60U68```!(
- XM18OY:\$=E-;D75;5XEU_764Z7$L,&QP;&^H*)[RBH8N[6Z@JRZA*JYB:2[C2
- XMC2?2C2C2C2C2C2C2C3?3?3C2C2C2^-*-*-+XTHTOC2^-+XTHTITHTITOC2^-
- XM*=+XTITOC2^=+XTN.=+XTN:=+CH-'Z'1H-'Z'0HL^CSZ/.I,ZDS:7,ILRGRZ
- XMC)J\>NQ+#"LL"TO[6]M[RWN[B[M[VUO[/!L<.NQJS(J<RFS:3/HM#Z'1^@TO
- XMG2XHTOB\2I>]:FB]>DC`>AC"H&C%J\>HRZ70BQ#`^&<```!23&/[0M"`$<V]
- XM#:UM;3U]K3UM/>T'2M&HNV>KG0JEFI?4J&FG?6MFNE?8IFND?9M&RR?;I&RQ
- XM;=I%T-7=HVT-3>LFT-/?LET=(!"_%M#2`1L5T=$!*Q71T`$]30T0$M70T`$[
- XM'UT<`4LCT<`4S6P!3-;[`5O6_`%,UOL!6];\`4S6^P%;UOP!3-;[`5O6_`%,
- XMUOL!6];\`4S6^P%;UOP!3-;[`5O6_`%,UOL!6];\`4S6^P%;UOP!3-;[`5O7
- XML!3->@%<V(`6O:4!BP,_P#/[`S_`,_L#/\`S^P,_P#/[`S_`,_L#/\`S^P,_
- XMP#/[`TH#:`.5V;$E:````$Q";?EKWI`:P@%L8!+*WK6=R:C:FYUZP8UJPXU*
- XMQ)TJQHT:QYSZR)SJR:S+RIS*RYRZS)RKS*R+S:R*SJQ[SJQKS[Q,#/O$O0O#
- XMP-"\.]&\+`T;_!P-*_P,#3N\'3N\#4NL'4NL'3P/G!U,"<#5P/C!U<#B?!U<
- XM%L+5P6P=;!;!U<%L+5P6_!UL%?PM7"7!UL%@(%\"%?`@7\+5PE_!UL%L'5PE
- XMPM7!;!UL%L'5PFXL'5P7XL#5P7_!U,&,#5P)P-3!G`U,"L#3P:_`T\"_P-+`
- XMP+TL#"K2P,+ZT<##K0P,2M"\6L_`Q:S[QYSKR*S;R*S+R:R[RYRZS)RJS9R;
- XMSIR*SYQZT8QJTIQ*U(PZU9P9V(P)VHFMR5K?R@$L8!7#`:G=L']I````.BM$
- XM]T+&79C5K5O3_`T_O3_`T_O3_`T_O3_`T[T_P-/[T_P-/[T_P-.]/\#3O3_`
- XMT[T_P-.]/\#3O3P-/`RT2\MBP,MBP,M3O+8L#+8L#*8[RV+`RF.\MCO*9+R7
- XM2\AUK(=JQW>L9XK%>IQ'NL&,&:G$EKQLO)R,W$T:S+#Z:@```%Y01/="QE`N
- XMC9C-K5P<R]+$RL#0Q\G`SLG)O.RLF\R"PLC`RW3"R,#)=L+(O)=\')O'><'(
- XMP,9ZP,G`Q6P9R[Q6Q%S;PW`2P,)P$\#!8!6\!P%KMP%L"F`8P(<!FX<!JV<!
- XMO`2`',`H`>L9`?QP(-`!C7`1VM[=VL"<O8P,/'UKR,35O*P]/`S,+2P,[!T;
- XMT,#1O0P<_\#1P,^].\^].\5%_`T[Q&]+U+Q%3\#3P,-DO4O$5;U+PV3`U+PV
- XM3`U+PU6]6\)EO5O"5<#5O!9<#6K!5KUZP&:]>K9L#8FV;`V*EGO:F&B]N5>;
- XMW,>JW\3`@!'!PU`6C#"1`FL```!?3VSW:JF=NDUZ;6I]BDV:38I-BCV*38H]
- XMBDV/H]GZ/9XJ/9XJ/9^CV>*CV>*CV?H]GBH]GBH]GZ/9XJ/9XJ/9^CV>*CV>
- XM*CV?H]GBH]>EU:;4J-*IT:K0@:/.@J/-@Z/,A:/)H%H\B@>CQJ"*/%H)H\2@
- XMH:/"H**CP:"CH\"@I:.^H*:CO:"HH[N@J:.ZH:FCN:&KH[>AK*.VH:VCM:&O
- XMH[*BL*.QHK*CKZ*SHZZBM*.MHK:CJZ.VHZJCMZ.IH[FCIZ.ZHZ:CO*.DH[VC
- XMHZ.^HZ*CP*.@H\&CFCPJ-Z3$HUI<2C6DQJ,Z3'HSH\BD*BRJ,J',HQH,VD&-
- XM"B)M*@&Q"FP```!B6&/[0LY0-HVEUZV(UKUJU/P-6]3[UKT_P-7`T_O6O3_`
- XMU<#3^]:]/\#5P-/[UKT_P-7`T_O6O3_`U<#3^]:]/\#5P-/[UKT_P-7`T_O6
- XMO3_`U<#3^]:]/\#5P-.]:]2]:\),'\#5P,%L#`U;PEP;UKPEP/P-7`P6P,#4
- XMP,)<'`T\'"7`P=/!P6P,'2PL%<'"T,/!7!PL_#P6P,/.Q,%<'$S<3`;!Q,MQ
- XMNVP<7)<ZIL'&R'2J;!Q\6&J&PLG!B*=L/,>JI7PL`L["Q\/`/,Q,3%M\;)P<
- XM:[O/C'_``P^P,/P`,/L##\`##[`P_``P^P,/P`,/L##\`##[`P_``P^P,:`S
- XM@#90-+#7;0```%!,0_A"R'W5P,;<A<O:I,S:OSS-G`/+VKP<+:O#_`V<##O:
- XMO$O9P,/`V<##P-F\2]G`Q+V;Q/P-C`Q/O8P,3\#7P,6]?`QKU[QL#6P,;`UK
- XMQ[UL#'O5P,?`U;R,#4P,B]6\F]2\G`T[RL#2P,J].\N]*\O`T;S,#0O-O0O.
- XMO/O.P,^L_`SJT+SJT;S:T<#,K2P,NM.\J]2\F]3`R*UL#'K7O'K8O%K9P,2M
- XMK`PJW+PJW;P*WL"J`0P(L!&WL!.TP`%,`L`!;+`9R0&\8!W$`@P0)(`GD.IN
- XM````2$.+_&N_'734Y%TVT^)=7UU%&GPK"\M+BXM::C>SJ:&+&D&NL:0ZRPI&
- XMJK"DH*2RH\NCRJ3*^DRJ3*I,KZ3*^DROI,NCR_I,OIH\WBH\VCS:+-HWI[6C
- XM*MM+VTN[6GHVMZ2C>UNK2ZLY.NM(FGMHSYSYSXT(T)SYT(T(T(T)T(T/C0^-
- XM#XT)T/C0YIT/H,^ASOHLVDS*3+I<JGR:G'JL6MPZ_!L;^SOK.]M;RVNKBYN;
- XMFXNK:[MKRTOK+`K\.MQ*O'J,JES:+.H<_Z#0^=#XN$JHN6J(N8I8O(HHOJ%X
- XMP:W$J<BFS9K`L,=O````3T5$^4+9P`&,@!+.W=+9PGP-;!P;T[QJT+R:SKRZ
- XMR\#-K)O/O'O1K&O2O$O4O"P-2\'`U;P,#7NL#8N<'8N<#9P'P=G`]L':P/7!
- XMV\#TP=S`\\'<P2PMS!\L'=P?'"W,+QP=W!+!W,(<+<PAP=W!+!W,(OP=S!/\
- XM';P4_`V\%<#:P7O:P7O9P8O9P)P-?`N];!N];`P+U<#"O3P,.]+`Q;T,#'K/
- XMP,B\V\N\N\VLF]"\7`TZPL#6P(P=K1WLT!+(`9P-@*#3<````%Y80_Q!N@%K
- XMD!JV`=M`'K(""Q`AL`(;`"*@(J`AL+*S6V7&L+9;9<6K=K5L6+EK5L2+I;9L
- XM.+IK9<.+MK5L-[QK5L)[QK9L)KUK9L%KYK5\%KU[5L-+YK9@$&MFWWMFWWM7
- XMWVMGWN)[9]U[=]U[:-SXMHW'MXV_BWC:FWC:^+B-F;B-F+BM?YN*UJN*UIN:
- XMU:N:U?JYL-.KJPTZN[#1L+NPT:O+#0^PO+'.L+VQSK"]LLRQOK',L+^RROL;
- XM^RROL,&QRK#"L,JL.LR,6,Y<A<"Q#W$```!42V/[0@$[`@Q@&\H!?.`3P&L!
- XM"\"=ZL.MJL:MBL>M>LFM6LNM.LRM*LV]"L^L^M"\VM&\R]&\N]+`RKT[R;U+
- XM_(O4P/Q[U<#&P-7`QKUL#%P-;`Q;U\#%O6P<3`UL'\2]?!_#P-;"_#O7P</\
- XM#6PL.]?!Q+UL+#_`UL'$O6PL2];!Q,#6P<3`U<'%O6P<6]7!Q<#5P,;`U,'&
- XMO5P,?`T\#'P=+`R,'2O)PM#`R<+/P,G$S<#*Q,S`R\7*O-L6R+S<`7QKSL`G
- XMP[T+1\#`T;67P-+`?,U,",G6N\78O"K;_``C^P(_P`(_L"/\`"/[`C_``C^P
- XM(_P`(_L"/\`"/[`C_``C^P)*`F@"E0)PL,5R````7E5#^4'6`5U0&=$!W.`?
- XMS`(<H"/)`CR`)<<"7&`EQ\><7;Q,3#V</(P=C"R\'6P<[`U<'0O5P-'`T\#3
- XMO2P-2]'`U;T<#6O/P->\[\#8O-_`V;S/P-J\R]N\O`V[R[W+RL#;P,K`V[R_
- XMO<O*_`V\#*O<O+^]O`R[V[S+VL#,^MN\WZVKSOK9O/K8O0K7O2K6O2K5O3K4
- XMO5G3O6K2K8G1K9K.O;G-O=G+H!"<F@$IQJ`5K!P`&+?!`;T`'\P"/'`JL!N0
- XM<W,```!)3T/\0:O.JM*GU:76H]BBV:'9H=J@VJ#9H:.G;`H:IK^@K&OXK7OH
- XMKGO8KVO8KWO7L'O'L7O&LGN_:R>]2S?=^-U]WCC<XHW/G<C<XIVZ#;XIV_H-
- XMN=OBH-JAVN*@VN*AV>*AV?HMGBH=J@W(WFQPL.5T````65!$^T+%@!%<?"W)
- XMQ,3:O!R-?`P(6=7"IWK4PI:IU,*&NM/#9L"M/#5\"M/#5L&]+#1L*]/"1L*]
- XM3!-L.]7`-</`UK\FP[V)+VP\#9@EP\#:@6P\#;<6P[W&+UP\#<8SQ+W6R<#=
- XM;)P-U<G`WER<#=;)O>;(_`WER;WFR,#>;(P-Y<F]YLC`WFR,#=;)O>;)O>7)
- XMP-ULG`W5RKW6RKW5R[W&R_O;;,O:;-K;;-K:;.^]AL^]=M"]9M*M5M.]-].]
- XM)]6]!]>L]]B\U]J\M]R\AP$+Q(`2PID!;1`9S0'<D"3!UL%K=0```&%5BOAJ
- XM`N0$/B4$+V!"]00O8$+U!"]@0O4$+V!"]00O8$+U!"]@0O4$+V!"]00O8$+U
- XM!"]@0O4#W2`TW`*P$P)0&`(=,F/1`=T69\`9RENP%<Q="@$LT&T:`0O2;3G=
- XMO475G;O576G9K6;6K6O7;7K4O879K2O979K1O9;:K+VFVJN]M=NYS;7<J;VV
- XMW*B]QMRGS<7=M<W5W;6]UMVTS=;=M+WEWK/-Y=ZSO>;>LLWFWK+-Y=^RO?7?
- XMOQS>;>SQO?7?LOO>;>P<WEWL*]]=["O>;>L[WFW<.]Y=ZUK>7=Q:W6W;:MUM
- XMRWK=7<Q[W%W+FMMMNZK;;:N[VEVKT*VEV;T:V6V+TZV&U[U9V%U[UJUUUKV*
- XMU6U;VJU&T[W:TUT[WZTET;`2O&S`%;IIT`&,A7T0'-%%+4`@`8`E`3`LW`,]
- XM(#WV!"]00O8$+U!"]@0O4$+V!"]00O8$+U!"]@0O4$+V!"XE!#0"L(%'=@``
- XM`&9:8OM"E)'4E\,Y&;OU>>O6:$E;IU=Y6X=7D)6V=FDI6T=FDY:RAFE)6R=U
- XMEI6P>026E:]Z65K7II6L>HE*MZF5J7JY2H>LE:9ZZ4I7KY6C>QE*)[*5H'M)
- XM2?>UE)Y[>4G(MY2<>XE)M[J4F7NY28>]E)9[Z4E7OY24?!E))\*4D7Q).0?%
- XME'?&E&?(DU?)E#?*E"?,DQC,F\V:SYC0E]&6T^*4U>*4TY;1E]"8SYK-F\R!
- XMD\QRE,ISE,EUD\AVE,9WE,5Y"3Q'D93">2E,%Y24OWE92^>6E+UYB4NWF92Z
- XM>;E+AYR4MXG)2W>>E+5Y^4M'H)6R>BE+%Z.5KWI92N>FE:QZB4JWJ96I>KE*
- XMAZR5IGK96E>OE99)!["5EE=[*5E&:+*6DV9[25DF9[:5D'5[B5=U>ZE4AFO9
- XMYUOYN1/#E]21E+&C=P```&MBBOMJ`J,$)00/8$#U!`]@0/4$#V!`]00/8$#U
- XM!`]@0/4$#V!`]00/8$#U!`]@0/4$#V!`]00/8!:-9<Q<?"TURIQ,31;)O!R,
- XM]LC`P(6<Y<C"IWK-7(PI:IS&R,*&NLMLC#9L"LM<G#5\"LM<G#5L&\ELG#1L
- XM*\ELK"1L*\E<S!-L.\E<W`-</`R&SK)L.\EL^3;#O)70DFP\#)71@FP\#(;1
- XM@EP\#);1@6P\#)73<6P[RETV+UP\#);38SQ+REU&R<#*74;)P,EM1<G`RFU%
- XMR<#*74;)O+74;(P,IM1<G`RFTVR;RUU&R,#+747)P,IM-LF\MM-LC\#+73;)
- XM^\MM)LG\#+72;*O+;1;+O+;0?+O+71;,O+70;-O*;/?-O*;.?.O*7/;/O*7.
- XM;0O);-;2O(;,?2O(7,?3O(7+?5O&;*?6O&;(?9O%7(?;O$7'?<P,)L6-[`P6
- XMPX`2O`7#@!3!E<"0&,)6J@&L46;``>V@(]4"C/`QQ0./4$#V!`]00/8$#U!`
- XM]@0/4$#V!`]00/8$#U!`]@0/4$#V!`4$)`'@L0!X````9E]$_4(#E<HP(YQU
- XM`AO%8"#`Q'`?PL)P(,+"8"'"P7`AP[<"+#M@(\.F`DPZ8"7"E@)\&'`HP(8"
- XMJ_=@+)?V`NAF`OAF`P=E`Q9FV$V69M=]=F77C796UIUV5M:==676K75?;6K6
- XM9?76O65?;6K696UJU69=:M9F76K5=EUJU6==:=5V;6G59VUIU'=M:-5W;6C4
- XM>'U(U(A]2-.)?4?4B7TXTXJ-&M&:C0O0FYSL#/G!C-PLR\&<O#R[PJR,;)O#
- XMO&R,;!P\#"S,+#Q<*-&<7&V1VL?9+8R=<]?*UDULS4;4S=*-//T*T-+.P,[4
- XMR\/+V,?'Q]S#RL0!"M"=<-`.>0```"0%D_%N$Q`"UQ,0L%MZ````0"N3]F[8
- XM?4O2C5?6?7?7;8;8;8?7]]?B?7[??7XGU_?7?8;8;8;8;7?7;6?2O4?8O:?;
- XM;:?:;:;:;:;9?9]]GB?9[??9XGV??9?9;:;:;:?9?:?:C9O8<+A;>P```$`K
- XMD_9N?8O9C:?:?9?:;:;:;9?9]]GB?9[??9XGV??9?9;:;:;:;:?:;;?:O8?4
- XMO2?6;7?7;8;8;8;8?7]]?B?7[??7XGU_?7?8;8;8;7?7?6?5C2O4?8"0I'P`
- XM``!_;$CW2:R@WRJJ?:.HJ]=:6PU%H[/36BMM%:"ZSUF\SEB_S%?!RF>EH*G)
- XM9J.GILAEHJNFQ6:@KZ7$9:"RI,)UBVI,!EBXI+YU>[H[R$B\H[MU>^I+B%;`
- XMI+:%?"I+*@5L2EKZ!FQ::KHE;(IJ>C9LFIH*5VRL%US+^%SKR5S[J@71MJ)=
- XM.SHUU+"E77JZ@]JGJRWJ``P:`N,#`0`0KQ`P$&`A?0```']L2?=*'],0W1TS
- XMT0"I3],0W?'3`*E-$],0W?'3$*"M?@```$`QD_EN$]+B71;1]=%M'UT6T?71
- XM;1XET6T?71;1]=%M'UT6T?71;1XET6T?71;1]=%M'UT6T>)=%M'UT6T?71;1
- XM]=%M'UT6T>)=%M'UT6T?71;1]=%M'B71;1]=%M'UT6T?71;1XET6T?71;1]=
- XM%M'UT6T?71;1XET6T?71;1]=%M'UT6T>)=%M'UT6T?71;1]=%M'UT6T>)=%M
- XM'UT6T?71;1]=%N+172,0L51_````@&UP]VS*O?O<Q]?'ULS1S-+0S=#.U,G4
- XMR];'ULG9P]G'PIQ,'$G"Q<#$P;P<3`P[R,"<#(O"G,M[S)P9SK6\Z;G1E9T9
- XMJ-.3G3B8U9&=6(C6@8UH?XV,/8A8VL':A(V[VX1]R]QSC<O<@HW9W8+WWIWG
- XM)]]]]Q^-]]_#`14!'"`20!'"Z`0\/P08\7!!<O@#^#<#]T^`/85P/7;X`[A_
- XM@#F)@#>*D#6;@#6,&`,XPI`QG#@#&,6`+XQI`MG'D"N<GY`IG+D"><V0)9SY
- XM`CG1D"&=*@'ZTZ`=K5H!NM>@&:V:`7K;H!6MV@$ZWZ`1H!&M^@$ZW:`5K;H!
- XM>MF@&;U;`;O3L!V]&P'[S[`AO-L".\NP)JR:`IK'H"NL6@+:PZ`OK!H#&KH#
- XM.;D#69D#>7D#F'@#N%@#R3D#V#@#^!@$#%!!PP0_P01?L$?Y!)]P2_4!@*!?
- XMH0```%([B?5JP3W/7:]]CYUK#4^RTK30MLZXS+K*<7%\AR<GQH)RC$@W.,*$
- XM=(P'9V>]AW>+J(>(MYEYFSFP>PFJL7L:6PLWL[`;"T>TN;9[:UN'N'%+I[I,
- XM#@/GVSP00&JB````I)$W]T&]37]1UU#7]1UU'64M91UU'64M91UU'64M92UE
- XM+64M92UE+64M93U5/55-544]9-L0`;X];15-%4TE/34]-2U%+44M12U%+44M
- XM12U5'54=52U5'54=52U5'5]1UE#6]1UT9J!?HP```%([B?5JP3V^`^?`2Z>Z
- XM07N'N+6V>VN;1[2P&PLWL[!:L7L:J;![";.9>9MXAXBZAW>+UV=GP(1TC"@W
- XM.,2"<HQG)R?(<7%\JZS+C.MM"TTOLM2PUOG8]]KUW#P00&JD````I)$W]T%F
- XM37]1UE#6]1U5'54M51U5'54M51U5'54M12U%+44M12U%+44M-3TU/25-%4T=
- XM9``;TMI-935-54U5/54]92UE+64M92UE+64M92UE'74=92UE'74=92UE'7]1
- XMUU#7]1UTO9#[I@```%))4_Q/)-IMB=:AU*+3I-&FSZC-J<RKRG&ER'.EQG6D
- XMQ7>DPWBEP7H*6_>BI+YZ2DO'I:6Z>GI+EZFDMWJZ2U>LI;-ZZDLGL*2P>QI:
- XMY[.EK'M:2K>WI*E[BEIWNJ6E>\I*1[ZDHGOZ6@?!I8?#I'?%I%?&I3?(I1?*
- XMHQ?,J<VHS*G*HQ?(I1?&I3?%I%?#I'?!I8>_I:![ZDHGO*2D>ZI:5[BEIWMZ
- XM2I>UI*M[.EK'L:6N>PI+!ZZDLGK*6S>KI+5ZFDMWIZ2Y>EI;IZ2DO'HJ2^>@
- XMI;]XI<%WI,-UI,5SI<9QI<BKRJG,J,VFSZ31HM.AU)UVVDV0D/NH````4DE3
- XM_$_:39;7G4H=.BT:3/ILVHS*G*J\BE%\:E-\6D5\.D=\&EA[^EH'OJ2B>\I*
- XM1[JEI7N*6G>WI*E[6DJWLZ6L>RI*Y["DL'KJ2R>LI;-ZNDM7J:2W>GI;AZ6E
- XMNGI*2\>BI+YZ"EOWBEP7>DPW6DQ7.EQG*DR'&CRJG,J,VIS'&CRG*DR'.EQG
- XM6DQ7>DPWBEP7H*6_>BI+YZ2DO'I:6Z>GI;AZFDMWJZ2U>LI;-ZZDLGL*2P>R
- XMI*Y[.EK'M:2K>WI*E[BEIWNJ6E>\I*1[ZDHGOZ6@?!I8?#I'?%I%?&I3?(I1
- XM?*J\RIS:C/IM&DTZ+4H=:=AMM!!("K````!+2P4`<`\@D&2U````;5I>]ULD
- XM`50E`44>U'`2I?`0@7`0<GWX*-Z"C>=/C<A8VH:=B7G6F9U)H*#2H*&ASJ&C
- XMH<RAI:+(HJ>BQJ*IH\*CJZ6\I:ZEN*6QJ+"HM*RDK+?.NLJ_Q,3`R;K0LMJF
- XMNY!DM@```&U:7O=;NZ;:LM"ZR<#$Q+_*NLZWK*2LM*BPJ+&EN*6NI;REJZ/"
- XMHZFBQJ*GHLBBI:',H:.ASJ&AH-*@H)U)F=:7G8EHVH7XW(1]Z"C>@HWW)P$'
- XM'X`0I>U`$G%0%%-`%4&0E[<```!M4&'R5L"[O,"YQ+7'LLJPRZ_-KJK0I]2E
- XMU:37H]BBV:+9H=JAVJ#;H-N@W)W)W)W8W8W9W8W?C=^-WXWGWOC>?>^-[B?>
- XM^-[WW_`5$`$%\???^-_B??^-]]_XWWW_C?^-_XWXWIWHWXWIWIWIW:#=H-V@
- XMW:'<H=RBVZ+;H]JDVJ78I]>JT\VQR[/*M<>XQ+O`P;L0<)VZ````?V)A\E:B
- XMKYZTF[B7NY2^DK^1P9",Q(G(A\F&RX7,A,V$S8/.@\Z"SX+/@M"!T('0@=&`
- XMT8#1@=&`T?@-'X#1^`TGTO@-)]+X#2XGTO@-+H)]/X#3XGT_@--]/X#3?3^`
- XMT_@-/X#3@-*!TH#3@-*!TH'2@=&"T8+1@MT(/0A,^$SX7.ALZ'S(G+C,?!
- XMD[^5OI>[FKB=M*.O$'"=NP```']B8?)6*NH[2=N)J[E[Z5OY3`QXS+B<R'SH
- XM;.A<^$SX30@]"#T8+1@M&"T8'2@=*!TH#3@-*!TH#3^`T_@-/X#3?3^`TWT_
- XM@-/B?3^`Z"TW_2@.+2?2^`TGTO@-)]+X#1^`T?@-&`T8'1@-&`T8'0@="!T(
- XM+/@L^"SH/.@\V$S83,A<N&R8?(B<2,D<"1OY*^E+N7N)NTGZZB!PI[X```!_
- XM8H+R9J*OGK2;N)>[E+Z2OY'!D(S$B<B'R8;+A<R$S83-@\Z#SH+/@L^"T('0
- XM@="!T8#1@-&!T8#1^`T?@-'X#2?2^`TGTO@-+B?2^`TN@GT_@-/B?3^`TWT_
- XM@--]/X#3^`T_@-.`TH'2@-.`TH'2@=*!T8+1@M&"T8/0@]"$SX3/A<Z&SH?,
- XMB<N,Q\&3OY6^E[N:N)VTHZ\`FBU%U4XM=-5M07"GOP```']B@O)F*NH[2=N)
- XMJ[E[Z5OY3`QXS+B<R'SH;.A<^$SX30@]"#T8+1@M&"T8'2@=*!TH#3@-*!TH
- XM#3^`T_@-/X#3?3^`TWT_@-/B?3^`Z"TW_2@.+2?2^`TGTO@-)]+X#1^`T?@-
- XM&`T8'1@-&`T8'0@="!T(+/@L^"SH/.@\V$S83,A<N&R8?(B<2,D<"1OY*^E+
- XMN7N)NTGZX`G'U&U4XM=-5=10<!7(````;5HJ]S8?T!"V\='IC+?,7/$PD%?,
- XM````4C\_]T6PH<:IOZ^ZL[:WL[FPO:V_J\&IPZ?%I<>C_)H<N?S7_/7BT3XM
- XM,0`OGB'3/BT5_/?\V<NA_)H\>EQ:?#J<&KOZV]L+FSM[:SNJ^_J<:AL`D7O-
- XM````I)&-]VS5J0/K4#2]`MPP)\D"'/`<TP%Z^GKP$JNSJ]^HNZC<I\&GV*;'
- XMIM6ERZ72I-&DSZ/5H\VCUZ/*H]NCQZ+?HL6B`1HL.A`5H<&A`7H;^A`9H;V@
- XM`=H+N@`?H+F@`AH+>@`CH+:0)9M9`GFSD"F;&0*YL(`MBOD"V:V0+YK(`QBK
- XM@#.*F0,YJ(`UBG^`-XI?@#F*/X`[BA^`/8GX`_B'!!=_@$&&<$-U^`0X3W!%
- XM<_@$6"XW!'<?@$>EZD!)I?!'CC%P1W+X!%@_<$5T^`0X5P0W;X!!AW!!>/@#
- XM^)^`/8H?@#N*/X`YBE^`-XIX`UBHD#.:F`,XJX`QBLD"^:V0+9KX`MBPD"N;
- XM&0*9LY`GFUD"6;:@`CH+>@`AH+F@`?H+N@`=H+VA`9H;^A`7H<&A`5H<.B`1
- XMHL6BWZ+'H]NCRJ/7H\VCU://I-&DTJ7+I=6FQZ;8I\&GW*B[J-^KLZL!*OIZ
- XM\!?3`<SP(<D"?#`MO0-+4#ZIU:!(S@```$HWC/=KOEUGU)TNL+#2YYU.9];F
- XM7!BS6SA;.5FS.X55N!#H&X55N#LY6;-8LULXP>)=;E?4Y9TNR+#2ZXG4ZR?6
- XMY5V#OZ![SP```$HWB_=KOEUGU)TNFPTN:=3D?6XUP8LULX6SE9LSN%5;@0Z!
- XMN%5;@[.5FS6+-;.,'C76Y'U.:=+IL-*=1]90/EUGU)TNFPTN:=3D?6XUP8LU
- XMLX6SE9LSN%5;@0Z!N%5;@[.5FS6+-;.,'C76Y'U.:=+IL-*=1]9;X*"IU0``
- XM`$1#C?=LUXWK':M=>WU85].'?1B6T7F,^'K.A['-AK+BS(>RRY>R_+B++*F;
- XM#+FIS)L5SHW^6=[DG>XJWOG>Y*W?L-WCK=Y+#=K=Y;#<L=SDL-S['<Y+#<^Q
- XMW.2PW+'<Y;#=K=Y+#=XZW?L-WDK>^=[BK>Y)WN6=^,Y;&<R:G+L)G*^RB,NR
- XM><OBLGC,LFC-L7C.IXSXE]%IC1=XTW6-6WU[7:L=Z->Q9M@```!208'X=0%D
- XM`@4!_W`=^`'7`=^-JX?8Q5?5RQC3UM&YP]&</`T(QZSIR9S9RJS(RZRXS+R8
- XMS,''C-PL9\["Q8S<3#C.@8PHSG*,&,]SC`^,Z#BYSG2:C.A8F<Z%F)SG:8G-
- XMAI><Z'EISGB6^<V(E:S7FD^LR)I/K,>J/ZS(NBK,?`HOK+C`HJRWP:+ZRHP:
- XM&\I\+*_)C"RLE\/*_(C#ROR'Q,K\>,3*QWQ<K\:,7*QGQLK\6,;*Q7Q\K\2,
- XM?*_$?(ROPXR,K#?)ROPHR<K"?*RL&,JQK!C*HJP7RZ+ZP(RZ*L!\RB^ZC+LK
- XMI\RSJGS*3ZF,RDJ7S:2HC-I9B,V6IWS::FC-IY:,V8EGSIB5C.F92,V:E'SI
- XMJ3C.FX.,Z,"2?.G!@GSHPL7-G#Q,V,3#S9Q<+-C'P<R,F\R,J\N<NLJ<V<F<
- XMZ\6L_!P:T<.;T=;3@<O5=,?7>+VO@!UP'?@!WW`?]0%0@>79````@'&'^6BY
- XME`%I[>I-BJTZ[/EI26RY.>D\>2I)+$D:B1P9&LD;Z0L)"\BTBYD+:0MHNHM(
- XMO(LHOHL'PGKGQ'K'QGJGR'J'RGIVS&IFSFI&T&HO;2:@;4:>;6:=786<;8:;
- XM7:6:;::8;<:77>66;>:54!!91@$&D_4!)9)@$FD5`460:UD*UH6SEJM86Q:%
- XMJ5=J]95*=F6N:8.G5EK5G"IE9:Q9XJ55:K6@*D9%JUHBI%1:IJ(J146I:D*C
- XM4VJ5IAHV):EJ8J-26H:G*C4EJ&J"HE):=J5J)26G:D>B46IGHXHI*G>CBCD?
- XMIGI(HY&F>E:DD:6*9*61I8R)'Z5\F1Z*2,F2HXR&XA6CC(4EI'R%):2,=2:C
- XMC&8UHXQE3UI'QE1J.,1E6D?$5EI'JBGU9:5ZDI]6:D>H*?9UI6J"GUA:5Z8Y
- XM]8:E:F*?:06E>D.?61:E>C*?:26F:B.?636G:@.@63:G:>.@:46H:<.A65:H
- XM>82A:66J:56B67:K>&HVF&K)BD::6OD:A9MMAIQ=A9UM9IYM1J#VTFHFT&I&
- XMSFIFS&IWRGJ'R'JGQGK'Q'KGPGL(OHLHO(M(NHMI"VD+F+2+R0L)"^D:R1P9
- XM&HD<22I)+'DYZ3RY:4EL^NTZK8I-Z>`6E+F0$MH```!./T#Y/QTQ#'[+RPQQ
- XMTQ!8#>````!R)I//;0`=/MUQ6`[A````<B:3SV_MUI<0`<2P9.(```!R*I//
- XM;=E==]:-6=.]*]*]*]*]*]*]*]*]*]*]+`T<#2O2P-'`T?P-'`T<'1P-'`T<
- XM'1P-'\'0_!T/P=#\'0PM#\'0PM#!T.+"S^+"S\//XL+/XL//_"S^7#S\+/X#
- XM?#SPL(CC````<BJ5ZF_/[<P\_"S^+#S\+/_#S\+/P\_"S\//PL_"S\//PL_"
- XMS\+0P=#!T,'0P=#!T,#1P-#!T,#1P-#`T,#1O1O1O3G5;8G5O5O5O4P-3`U,
- XM#3P-/!T\#3P-/!TL'2P=+!TL'1PM'"T<+0P]#"T<+0P]#"T,/0PM#\/0PM#B
- XMP]#"T.W,,+ABY````'(JD\]OX#?#T,+0Y</0_"T.+#T.+"T,/0XL+1XL+1P=
- XM'"T?P='"T?P=+\'2_!TOP=+`TL'2P-/`TL'2P-/\#3P-/`T[T\#3P-.]2]2]
- XM2]2]2]2]2]2]2]2]6=:-=]E06`[P````<B:3YFT`'$[=<6E0#?$```!R)I/F
- XM;W'MT`'3N&+R````<BJ3ZFU=E]>-:=6]2]2]2]2]2]2]2]2]2]2]/`T\#3O3
- XMP-/`T_P-/`TL'2P-/`TL'2P-+\'2_!TOP=+\'1PM'\'1PM'!T>+"T>+"T,/0
- XMXL+0XL/0_"T.7#T,+0X#?#"XB/,```!R*I7/;^W,/0PM#BP]#"T/P]#"T,/0
- XMPM##T,+1PM##T,+1PM'"T<'2P=+!TL'2P=/`T\#3P=/`T\#4P-3`U+U;U;U9
- XMV&U9T[T;T;T<#0P-#`T<#0P=#`T<#0P=#!T,'0P=#!T,+/PL_"S\//PL_"S\
- XM//PL_#S\+/_#S\+/XL//PL_MS#SPL&3T````<BJ3ZF_/X#?#S\+/Y<//_"S^
- XM+#S^+"S\//XL+/XL+0P=#"T/P=#"T/P=#\'0_!T/P='`T<'1P-'`T<'1P-'\
- XM#1P-'`TKTL#1P-*]*]*]*]*]*]*]*]*]*]*].=6-9]==D-@+]0```'(/E<]O
- XM`(O0V`OV````I*,$`"H`*.!`K_L```"DD5GW4H%0UE+4]3T_4]/U/34]-4TU
- XM/34]-4TU/34]-4TE325-+U325-)4TE325-*U<+EMNVN\:KUHOV>_9U705L]7
- XMSU;/5\Y7S5G,6<M:RES(7<=>R/7,Q=S%W.6\]:SUG16-%8T5?25M-6TE;35M
- XM)6T[YJOFJ];+MMNFZX<+5S5-14U%345-14U%/54]14U%344]53U%344]53U%
- XM344]7U/5]3U?4]52UE"AV`O\````3C]`^3\`_"!`K_T```"DD5GW4J%0UE+5
- XM]3U?4]7U/54]14U%/54]14U%/54]14U%345-3U345-14U%345'.U<+EMNVR\
- XM:[UJOVF_TU735M)7TE;25])7T5G06=!:SES-7<Q>S/7,E=R%W(6\I:S%G,6,
- XMU8SE?/5L]6T%;/5M!69[YHOFF]:KMLNFZX<;725-)4TE325-)4TU/34]-4TE
- XM334]-3TU334]-3TU334]/U/3]3T_4]12UE"!8"#^````?VQM]VJ=30;/Z9<)
- X2S],0W?'3G>E'"<_3$-WQTQ#U
- X`
- Xend
- END_OF_FILE
- if test 23815 -ne `wc -c <'fonts.lj/S.36.pk.UU'`; then
- echo shar: \"'fonts.lj/S.36.pk.UU'\" unpacked with wrong size!
- fi
- # end of 'fonts.lj/S.36.pk.UU'
- fi
- if test -f 'lj.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'lj.c'\"
- else
- echo shar: Extracting \"'lj.c'\" \(22044 characters\)
- sed "s/^X//" >'lj.c' <<'END_OF_FILE'
- X/*
- X Copyright 1985, 1986, 1987, 1988, 1989, 1990, 1991 Chris Lewis
- X All Rights Reserved
- X
- X See the LICENSE file for a full description of restrictions under which
- X this software is provided.
- X
- X Function: LaserJet driver, hacked from ps.c and lcat.c
- X
- X Without font downloading, this is LJ compatible.
- X Font downloading will require a LJ+, LJ500+ or
- X LJ II.
- X
- X*/
- X
- X#include "defs.h"
- X
- X#ifdef LJ
- X#include "lj.h"
- X
- X#ifndef LJF
- Xchar *LJF;
- X#endif
- X
- X#ifdef PK
- X#include "pk.h"
- X#endif
- X
- X#if defined(PARTIAL)
- X#include "pkc.h"
- X#endif
- X
- X#ifndef lint
- Xstatic char SCCSid[] =
- X "@(#)lj.c: 2.7 Copyright 91/03/10 03:12:47 Chris Lewis";
- X#endif
- X
- Xstruct troff2befont ljStdFont[108] = {
- X
- X/* Note on X-shift, Y-shift and point scale factor:
- X The first two are shifts in the baseline position of the
- X character, and the third is a multiplier of the point size.
- X If they are zero, nothing happens. If they are non-zero,
- X they are first multiplied by .01, then (in the case of the
- X shifts), multiplied by the current points to get a shift
- X value in TROFF2LJ[XY] coordinates. In the case of point scale
- X factor, it is multiplied by <currentpointsize> * .01 and becomes
- X the pointsize of the sequence to be emitted.
- X */
- X/* +-------------------------------- Troff character number
- X |
- X | +--------------------------- N: standard fonts
- X | | S: symbol font
- X | | D: draw macro
- X | | n: new font
- X | |
- X | | +------------------------ X-shift: scale by deci-point*100
- X | | |
- X | | | +--------------------- Y-shift: scale by deci-point*100
- X | | | |
- X | | | | +------------------ Point-scale
- X | | | | |
- X | | | | | +-------------- Sequence
- X | | | | | |
- X v v v v v v */
- X /* 0*/ {N, 0, 0, 0, "h"},
- X /* 1*/ {N, 0, 0, 0, "t"},
- X /* 2*/ {N, 0, 0, 0, "n"},
- X /* 3*/ {N, 0, 0, 0, "m"},
- X /* 4*/ {N, 0, 0, 0, "l"},
- X /* 5*/ {N, 0, 0, 0, "i"},
- X /* 6*/ {N, 0, 0, 0, "z"},
- X /* 7*/ {N, 0, 0, 0, "s"},
- X /* 8*/ {N, 0, 0, 0, "d"},
- X /* 9*/ {N, 0, 0, 0, "b"},
- X /* 10*/ {N, 0, 0, 0, "x"},
- X /* 11*/ {N, 0, 0, 0, "f"},
- X /* 12*/ {N, 0, 0, 0, "j"},
- X /* 13*/ {N, 0, 0, 0, "u"},
- X /* 14*/ {N, 0, 0, 0, "k"},
- X /* 15*/ {N, 0, 0, 0, NOC},
- X /* 16*/ {N, 0, 0, 0, "p"},
- X /* 17*/ {S, 0, 0, 0, "\366"},
- X /* 18*/ {N, 0, 0, 0, ";"},
- X /* 19*/ {N, 0, 0, 0, NOC},
- X /* 20*/ {N, 0, 0, 0, "a"},
- X /* 21*/ {N, 0, -200, 0, "_"},
- X /* 22*/ {N, 0, 0, 0, "c"},
- X /* 23*/ {N, 0, 0, 0, "`"},
- X /* 24*/ {N, 0, 0, 0, "e"},
- X /* 25*/ {N, 0, 0, 0, "'"},
- X /* 26*/ {N, 0, 0, 0, "o"},
- X /* 27*/ {N, 0, 0, 0, "\367"},
- X /* 28*/ {N, 0, 0, 0, "r"},
- X /* 29*/ {N, 0, 0, 0, "\370"},
- X /* 30*/ {N, 0, 0, 0, "v"},
- X /* 31*/ {N, 0, 0, 0, "-"},
- X /* 32*/ {N, 0, 0, 0, "w"},
- X /* 33*/ {N, 0, 0, 0, "q"},
- X /* 34*/ {N, 0, 0, 0, "/"},
- X /* 35*/ {N, 0, 0, 0, "."},
- X /* 36*/ {N, 0, 0, 0, "g"},
- X /* 37*/ {N, 0, 0, 0, "3/4"},
- X /* 38*/ {N, 0, 0, 0, ","},
- X /* 39*/ {N, 0, 0, 0, "&"},
- X /* 40*/ {N, 0, 0, 0, "y"},
- X /* 41*/ {N, 0, 0, 0, NOC},
- X /* 42*/ {N, 0, 0, 0, "%"},
- X /* 43*/ {N, 0, 0, 0, NOC},
- X /* 44*/ {N, 0, 0, 0, "Q"},
- X /* 45*/ {N, 0, 0, 0, "T"},
- X /* 46*/ {N, 0, 0, 0, "O"},
- X /* 47*/ {N, 0, 0, 0, "H"},
- X /* 48*/ {N, 0, 0, 0, "N"},
- X /* 49*/ {N, 0, 0, 0, "M"},
- X /* 50*/ {N, 0, 0, 0, "L"},
- X /* 51*/ {N, 0, 0, 0, "R"},
- X /* 52*/ {N, 0, 0, 0, "G"},
- X /* 53*/ {N, 0, 0, 0, "I"},
- X /* 54*/ {N, 0, 0, 0, "P"},
- X /* 55*/ {N, 0, 0, 0, "C"},
- X /* 56*/ {N, 0, 0, 0, "V"},
- X /* 57*/ {N, 0, 0, 0, "E"},
- X /* 58*/ {N, 0, 0, 0, "Z"},
- X /* 59*/ {N, 0, 0, 0, "D"},
- X /* 60*/ {N, 0, 0, 0, "B"},
- X /* 61*/ {N, 0, 0, 0, "S"},
- X /* 62*/ {N, 0, 0, 0, "Y"},
- X /*from here on are actually code 1-45, upper half of font */
- X /* 63*/ {N, 0, 0, 0, "F"},
- X /* 64*/ {N, 0, 0, 0, "X"},
- X /* 65*/ {N, 0, 0, 0, "A"},
- X /* 66*/ {N, 0, 0, 0, "W"},
- X /* 67*/ {N, 0, 0, 0, "J"},
- X /* 68*/ {N, 0, 0, 0, "U"},
- X /* 69*/ {N, 0, 0, 0, "K"},
- X /* 70*/ {N, 0, 0, 0, "0"},
- X /* 71*/ {N, 0, 0, 0, "1"},
- X /* 72*/ {N, 0, 0, 0, "2"},
- X /* 73*/ {N, 0, 0, 0, "3"},
- X /* 74*/ {N, 0, 0, 0, "4"},
- X /* 75*/ {N, 0, 0, 0, "5"},
- X /* 76*/ {N, 0, 0, 0, "6"},
- X /* 77*/ {N, 0, 0, 0, "7"},
- X /* 78*/ {N, 0, 0, 0, "8"},
- X /* 79*/ {N, 0, 0, 0, "9"},
- X /* 80*/ {N, 0, 0, 0, "*"},
- X /* 81*/ {N, 0, 0, 0, "\366"},
- X /* 82*/ {N, 0, 0, 0, "fi"},
- X /* 83*/ {N, 0, 0, 0, "fl"},
- X /* 84*/ {N, 0, 0, 0, "ff"},
- X /* 85*/ {N, 0, 0, 0, "\277"},
- X /* 86*/ {N, 0, 0, 0, "ffl"},
- X /* 87*/ {N, 0, 0, 0, "ffi"},
- X /* 88*/ {N, 0, 0, 0, "("},
- X /* 89*/ {N, 0, 0, 0, ")"},
- X /* 90*/ {N, 0, 0, 0, "["},
- X /* 91*/ {N, 0, 0, 0, "]"},
- X /* 92*/ {N, 0, 0, 0, "\263"},
- X /* 93*/ {S, 0, 0, 0, "\316"},
- X /* 94*/ {N, 0, 0, 0, "="},
- X /* 95*/ {N, 0, 0, 0, "O\br"},
- X /* 96*/ {N, 0, 0, 0, ":"},
- X /* 97*/ {N, 0, 0, 0, "+"},
- X /* 98*/ {N, 0, 0, 0, NOC},
- X /* 99*/ {N, 0, 0, 0, "!"},
- X /*100*/ {S, 0, 0, 0, "\314"},
- X /*101*/ {N, 0, 0, 0, "?"},
- X /*102*/ {N, 0, 0, 0, "\250"},
- X /*103*/ {N, 0, 0, 0, "|"},
- X /*104*/ {N, 0, 0, 0, NOC},
- X /*105*/ {S, 0, 0, 0, "\331"},
- X /*106*/ {S, 0, 0, 0, "\332"},
- X /*107*/ {N, 0, 0, 0, "$"}
- X};
- X
- Xstruct troff2befont ljSymFont[] = {
- X/* +-------------------------------- Troff character number
- X |
- X | +--------------------------- N: standard fonts
- X | | S: symbol font
- X | | D: draw macro
- X | | n: new font
- X | |
- X | | +------------------------ X-shift: scale by deci-point*100
- X | | |
- X | | | +--------------------- Y-shift: scale by deci-point*100
- X | | | |
- X | | | | +------------------ Point-scale (scaled by 100)
- X | | | | |
- X | | | | | +-------------- Sequence
- X | | | | | |
- X v v v v v v */
- X /* 0*/ {S, 0, 0, 0, "\167"},
- X /* 1*/ {S, 0, 0, 0, "\150"},
- X /* 2*/ {S, 0, 0, 0, "\155"},
- X /* 3*/ {S, 0, 0, 0, "\154"},
- X /* 4*/ {S, 0, 0, 0, "\153"},
- X /* 5*/ {S, 0, 0, 0, "\151"},
- X /* 6*/ {S, 0, 0, 0, "\146"},
- X /* 7*/ {S, 0, 0, 0, "\162"},
- X /* 8*/ {S, 0, 0, 0, "\144"},
- X /* 9*/ {S, 0, 0, 0, "\142"},
- X /* 10*/ {S, 0, 0, 0, "\156"},
- X /* 11*/ {S, 0, 0, 0, "\147"},
- X /* 12*/ {S, 0, 0, 0, "\165"},
- X /* 13*/ {S, 0, 0, 0, "\164"},
- X /* 14*/ {S, 0, 0, 0, "\152"},
- X /* 15*/ {S, 0, 0, 0, NOC},
- X /* 16*/ {S, 0, 0, 0, "\160"},
- X /* 17*/ {N, 0, 0, 0, "@"},
- X /* 18*/ {S, 0, 0, 0, "\243"},
- X /* 19*/ {S, 0, 0, 0, NOC},
- X /* 20*/ {S, 0, 0, 0, "\141"},
- X /* 21*/ {N, 0, 0, 0, "|"},
- X /* 22*/ {S, 0, 0, 0, "\166"},
- X /* 23*/ {N, 0, 0, 0, "\042"},
- X /* 24*/ {S, 0, 0, 0, "\145"},
- X /* 25*/ {N, 0, 0, 0, "="},
- X /* 26*/ {S, 0, 0, 0, "o"},
- X /* 27*/ {S, 0, 0, 0, "\244"},
- X /* 28*/ {S, 0, 0, 0, "\161"},
- X /* 29*/ {S, 0, 0, 0, "\241"},
- X /* 30*/ {S, 0, 0, 0, "\163"},
- X /* 31*/ {N, 0, 0, 0, "_"},
- X /* 32*/ {N, 0, 0, 0, "\\"},
- X /* 33*/ {S, 0, 0, 0, "\127"},
- X /* 34*/ {S, 0, 0, 0, "\177"},
- X /* 35*/ {S, 0, 0, 0, "\044"},
- X /* 36*/ {S, 0, 0, 0, "\143"},
- X /* 37*/ {S, 0, 0, 0, "\277"},
- X /* 38*/ {S, 0, 0, 0, "\046"},
- X /* 39*/ {S, 0, 0, 0, "\375"},
- X /* 40*/ {S, 0, 0, 0, "\170"},
- X /* 41*/ {S, 0, 0, 0, NOC},
- X /* 42*/ {S, 0, 0, 0, "\131"},
- X /* 43*/ {S, 0, 0, 0, NOC},
- X /* 44*/ {S, 0, 0, 0, "\125"},
- X /* 45*/ {S, 0, 0, 0, "\110"},
- X /* 46*/ {S, 0, 0, 0, "\130"},
- X /* 47*/ {S, 0, 0, 0, "\265"},
- X /* 48*/ {S, 0, 0, 0, "\260"},
- X /* 49*/ {S, 0, 0, 0, "\123"},
- X /* 50*/ {S, 0, 0, 0, "\113"},
- X /* 51*/ {N, 0, 0, 0, "\366"},
- X /* 52*/ {S, 0, 0, 0, "\103"},
- X /* 53*/ {S, 0, 0, 0, "\325"},
- X /* 54*/ {S, 0, 0, 0, "\120"},
- X /* 55*/ {S, 0, 0, 0, "\272"},
- X /* 56*/ {S, 0, 0, 0, "\273"},
- X /* 57*/ {N, 0, 0, 0, "~"},
- X /* 58*/ {S, 0, 0, 0, "\132"},
- X /* 59*/ {S, 0, 0, 0, "\104"},
- X /* 60*/ {S, 0, 0, 0, "\041"},
- X /* 61*/ {S, 0, 0, 0, "\122"},
- X /* 62*/ {S, 0, 0, 0, "\174"},
- X /* 63*/ {N, 0, 0, 0, ">"},
- X /* 64*/ {S, 0, 0, 0, "\116"},
- X /* 65*/ {N, 0, 0, 0, "<"},
- X /* 66*/ {N, 0, 0, 0, "/"},
- X /* 67*/ {S, 0, 0, 0, "\266"},
- X /* 68*/ {S, 0, 0, 0, "\124"},
- X /* 69*/ {S, 0, 0, 0, "\310"},
- X /* 70*/ {S, 0, 0, 0, "\360"},
- X /* 71*/ {S, 0, 0, 0, "\342"},
- X /* 72*/ {S, 0, 0, 0, "\365"},
- X /* 73*/ {S, 0, 0, 0, "\343"},
- X /* 74*/ {S, 0, 0, 0, "\344"},
- X /* 75*/ {S, 0, 0, 0, "\362"},
- X /* 76*/ {S, 0, 0, 0, "\363"},
- X /* 77*/ {S, 0, 0, 0, "\364"},
- X /* 78*/ {S, 0, 0, 0, "\361"},
- X /* 79*/ {S, 0, 0, 0, "\341"},
- X /* 80*/ {S, 0, 0, 0, "\340"},
- X /* 81*/ {S, 0, 0, 0, "\052"},
- X /* 82*/ {S, 0, 0, 0, "\045"},
- X /* 83*/ {S, 0, 0, 0, "\376"},
- X /* 84*/ {S, 0, 0, 0, "\134"},
- X /* 85*/ {S, 0, 0, 0, "\136"},
- X /* 86*/ {S, 0, 0, 0, "\175"},
- X /* 87*/ {N, 0, 0, 0, "=\b/"},
- X /* 88*/ {N, 0, 0, 0, "{"},
- X /* 89*/ {N, 0, 0, 0, "}"},
- X /* 90*/ {N, 0, 0, 0, "\250"},
- X /* 91*/ {N, 0, 0, 0, "\251"},
- X /* 92*/ {N, 0, 0, 0, "^"},
- X /* 93*/ {N, 0, 0, 0, "#"},
- X /* 94*/ {S, 0, 0, 0, "\373"},
- X /* 95*/ {S, 0, 0, 0, "\267"},
- X /* 96*/ {N, 0, 0, 0, "~"},
- X /* 97*/ {N, 0, 0, 0, "\322"},
- X /* 98*/ {N, 0, 0, 0, NOC},
- X /* 99*/ {S, 0, 0, 0, "\317"},
- X /*100*/ {N, -220, 0, 0, "|"},
- X /*101*/ {N, 0, 2, 0, "*"},
- X /*102*/ {S, 0, 0, 0, "\276"},
- X /*103*/ {S, 0, 0, 0, "\315"},
- X /*104*/ {S, 0, 0, 0, NOC},
- X /*105*/ {N, 0, 0, 0, "+"},
- X /*106*/ {S, 0, 0, 0, "\242"},
- X /*107*/ {N, 0, 0, 0, "\275"}
- X};
- X
- Xint fontCount = 0;
- X
- XljPage() {
- X printf("\033&l0H");
- X pagePending = 1;
- X}
- X
- Xstatic
- XdoPageStart() {
- X currentPage++;
- X fontCount = 0;
- X pagePending = 0;
- X}
- X
- Xstatic
- Xputoct(s)
- Xchar *s; {
- X int d;
- X if (strlen(s) < 3) {
- X fprintf(stderr, "%s: octal sequence in fonts.l[kj] bad\n", progname);
- X exit(1);
- X }
- X d = (*s - '0') * 64 + (*(s+1) - '0') * 8 + *(s+2) - '0';
- X putchar(d);
- X}
- X
- Xstatic
- Xint
- Xptcvt(points)
- Xint points; {
- X register int r;
- X switch (points) {
- X case 6: r = 0; break;
- X case 7: r = 1; break;
- X case 8: r = 2; break;
- X case 9: r = 3; break;
- X case 10: r = 4; break;
- X case 11: r = 5; break;
- X case 12: r = 6; break;
- X case 14: r = 7; break;
- X case 16: r = 8; break;
- X case 18: r = 9; break;
- X case 20: r = 10; break;
- X case 22: r = 11; break;
- X case 24: r = 12; break;
- X case 28: r = 13; break;
- X case 36: r = 14; break;
- X default: r = 15; break;
- X }
- X return(r);
- X}
- X
- X/* This function originally from Ronald Florence (ron@mlfarm),
- X but extensively modified for new fontFlags mechanisms.
- X
- X We'll go at most 4 points up or down. If this fails,
- X we'll let the printer decide... You may want to tweak
- X these arrays.
- X
- X We go up first for requested pointsizes > 10, and down
- X first for requested pointsizes < 10. Seems to work best
- X with EQN.
- X */
- X
- Xstatic int
- Xbestmatch(font, points)
- Xint font, points; {
- X
- X static int smalltry[ ] = { 0, -1, 1, -2, 2, -3, 3, -4, 4, 100 },
- X bigtry[ ] = { 0, 1, 2, -1, -2, 3, 4, -4, 100 };
- X
- X register char *p;
- X register int *ip;
- X
- X ip = (points < 10) ? smalltry : bigtry;
- X p = fonttable[font].fontFlags;
- X
- X for ( ; *ip < 100; ip++)
- X if (p[ptcvt(points + *ip)] != 'n')
- X return(points + *ip);
- X
- X return (points);
- X}
- X
- X#ifdef INCR
- Xdumpseq(font, pointidx, seq)
- Xint font, pointidx;
- Xregister char *seq; {
- X int fn = (font << 4) + pointidx;
- X static int lastftid = -1;
- X register int c;
- X register struct pkc *pc = (struct pkc *) NULL;
- X
- X DBP((D_FONT, "dumpseq font: %d, idx: %d, seq: %s\n", font,
- X pointidx, seq));
- X
- X for (;c = (*seq)&0xff; seq++) {
- X if (!downchar(font, c, pointidx)) {
- X
- X for (pc = fonttable[font].map->pkfont[pointidx]->pkp_chars;
- X pc; pc = pc->pkc_next)
- X if (pc->pkc_char == c)
- X break;
- X
- X setdown(font, c, pointidx);
- X
- X if (!pc)
- X continue;
- X
- X if (lastftid != fn) {
- X DBP((D_FONT,"Emitting download font select (%d)\n", fn));
- X printf("\033*c%dD", fn);
- X lastftid = fn;
- X }
- X
- X DBP((D_FONT,"Downloading %02x\n", pc->pkc_char));
- X epkc_desc(pc, stdout);
- X } else
- X DBP((D_FONT,"Already downloaded %02x\n", c));
- X }
- X}
- X#endif
- X
- XljSetFont(font, selpoints, fontcode, sequence)
- Xint font, selpoints, fontcode;
- Xchar *sequence; {
- X int points, pointidx;
- X extern FILE *popen();
- X register char *pf, *p;
- X register struct pkp *pk;
- X#if !defined(INCR) && defined(PK)
- X register struct pkc *pc;
- X#endif
- X char buf[BUFSIZ];
- X#ifndef PARTIAL
- X FILE *fontfile;
- X#endif
- X int count;
- X int ftid;
- X
- X#ifdef COMPRESS
- X int compressed = 0;
- X#endif
- X
- X
- X#ifndef INCR
- X if (lastPoints == selpoints && font == lastFont)
- X return;
- X#endif
- X
- X points = bestmatch(font, selpoints);
- X pointidx = ptcvt(points);
- X
- X pf = &fonttable[font].fontFlags[pointidx];
- X ftid = (font << 4) + pointidx;
- X
- X#ifdef INCR
- X#ifdef SFP
- X if (*pf == 'S' || *pf == 'P') {
- X#else
- X if (*pf == 'P') {
- X#endif
- X /* header downloaded, check and download individual characters */
- X dumpseq(font, pointidx, sequence);
- X
- X if (lastPoints != points || font != lastFont) {
- X DBP((D_FONT, "Selecting font %d\n", ftid));
- X lastPoints = points;
- X lastFont = font;
- X printf("\033(%dX", ftid);
- X }
- X
- X return;
- X
- X }
- X
- X if (lastPoints == selpoints && font == lastFont)
- X return;
- X#endif
- X
- X lastPoints = selpoints;
- X lastFont = font;
- X
- X switch(*pf) {
- X#ifdef PK
- X case 'p':
- X#ifdef PARTIAL
- X case 's':
- X#endif
- X sprintf(buf, "%s/%s.%d.%s", LJF,
- X fonttable[font].troffName, points,
- X (*pf == 's') ? "sfp":"pk");
- X
- X fontCount++;
- X if (fontCount >= MAXDLFONTS) {
- X#ifdef INCR
- X pkflush(font, pointidx);
- X#else
- X fprintf(stderr, "Too many fonts (page %d), simplify!\n",
- X currentPage);
- X#endif
- X }
- X DBP((D_FONT,"FONTLOAD PK font (ftid: %d) %s.%d via '%s'\n",
- X ftid, fonttable[font].troffName,
- X points, buf));
- X
- X /* Read the PK file in-core */
- X pk = pk_read(buf,fontcode);
- X
- X /* Set the fontid we'll use */
- X printf("\033*c%dd4F", ftid);
- X
- X /* Emit the SFP header */
- X epk_desc(pk, stdout);
- X
- X#ifndef INCR
- X /* Emit each character */
- X for (pc = pk->pkp_chars; pc; pc = pc->pkc_next) {
- X DBP((D_FONT,"Downloading ch %02x\n", pc->pkc_char);
- X epkc_desc(pc, stdout));
- X }
- X
- X /* Clobber in-core PK */
- X pk_destroy(pk);
- X#else
- X fonttable[font].map->pkfont[pointidx] = pk;
- X dumpseq(font, pointidx, sequence);
- X#endif
- X
- X *pf = toupper(*pf);
- X
- X /* buf */
- X goto setdownloaded;
- X#else
- X case 'p':
- X fprintf(stderr,
- X "%s: Font %s, size: %d is a PK - PK not defined in defs.h\n",
- X progname, fonttable[font].troffName, selpoints);
- X goto setbuiltin;
- X#endif
- X
- X#ifndef PARTIAL
- X case 's':
- X sprintf(buf, "%s/lj/%s.%d.sfp", LIBDIR, fonttable[font].troffName,
- X points);
- X
- X fontfile = fopen(buf, "r");
- X
- X#ifdef COMPRESS
- X if (!fontfile) {
- X sprintf(buf, "%s %s/lj/%s.%d.sfp.Z",
- X COMPRESS, LIBDIR, fonttable[font].troffName, points);
- X fontfile = popen(buf, "r");
- X compressed = 1;
- X }
- X#endif
- X
- X if (!fontfile) {
- X fprintf(stderr, "%s: cannot open fontfile\n(%s)\n", progname,
- X buf);
- X goto setbuiltin;
- X }
- X
- X fontCount++;
- X if (fontCount >= MAXDLFONTS) {
- X#ifdef INCR
- X pkflush(font, pointidx);
- X#else
- X fprintf(stderr, "Too many fonts (page %d), simplify!\n",
- X currentPage);
- X#endif
- X }
- X
- X DBP((D_FONT,"Loading font (ftid: %d) %s.%d via '%s'\n",
- X ftid, fonttable[font].troffName,
- X points, buf));
- X
- X printf("\033*c%dd4F", ftid);
- X
- X while(0 < (count = fread(buf, sizeof(char), sizeof(buf), fontfile)))
- X fwrite(buf, sizeof(char), count, stdout);
- X
- X#ifdef COMPRESS
- X if (compressed) {
- X if (!pclose(fontfile)) {
- X fprintf(stderr, "%s: compress failed!\n", progname);
- X exit(1);
- X }
- X } else
- X#endif
- X fclose(fontfile);
- X
- X *pf = toupper(*pf);
- X#endif
- X /* Fall Thru */
- X
- X case 'S': case 'P':
- X /* Select primary font by font id */
- X setdownloaded:
- X DBP((D_FONT, "Selecting font2 %d\n", ftid));
- X printf("\033(%dX", ftid);
- X break;
- X
- X default:
- X setbuiltin:
- X *pf = 'b';
- X
- X case 'b':
- X /* if builtin font, select it by characteristic */
- X for (p = fonttable[font].fontSeq; *p; p++) {
- X if (*p == '\\') {
- X putoct(p+1);
- X p+=3;
- X } else
- X putchar(*p);
- X }
- X printf("\033(s%dV", points);
- X break;
- X }
- X}
- X
- Xstatic fixpoints(points)
- Xint points; {
- X static char ptab[30] = {
- X 6, 7, 8, 9, 10, 11,
- X 12, 12, 14, 14, 16, 16,
- X 18, 18, 20, 20, 22, 22,
- X 24, 24, 24, 28, 28, 28,
- X 28, 28, 28, 28, 36, 36};
- X
- X if (points < 6)
- X return(6);
- X if (points > 36)
- X return(36);
- X return(ptab[points-6]);
- X}
- X
- XljChar(x, y, font, points, troffChar, sequence)
- Xint x, y;
- Xint font, points, troffChar;
- Xchar *sequence; {
- X register int nx = TROFF2LJX(x), ny = TROFF2LJY(y);
- X register struct troff2befont *rp;
- X
- X points = fixpoints(points);
- X
- X if (pagePending) {
- X resetState();
- X doPageStart();
- X }
- X
- X DBP((D_BEND,"BEFORE (troffChar,x,y,font,points) = (%d,%d,%d,%d,%d)\n",
- X troffChar, x, y, font, points));
- X
- X if (font < 0) {
- X font = -font-1;
- X rp = &extchars[troffChar];
- X } else if (font == symidx)
- X rp = &be->besymfont[troffChar];
- X else
- X rp = &be->bestdfont[troffChar];
- X
- X switch(rp->t2b_font) {
- X /* Only fonts with "N" are subject to font translation */
- X case N:
- X if (font == symidx)
- X font = 0; /* Special chars are Roman */
- X else {
- X DBP((D_BEND,"ljSetChar %d->%s (%s)\n", font,
- X xlatetable[font]->troffName,
- X xlatetable[font]->fontName));
- X font = xlatetable[font] - fonttable;
- X }
- X break;
- X case S:
- X font = 3;
- X break;
- X case D:
- X break;
- X default:
- X /* Typically used when the R and S fonts don't have the
- X character desired, so select the font via the index
- X in the fonts.?? file */
- X font = rp->t2b_font;
- X break;
- X }
- X
- X if (!sequence)
- X sequence = rp->t2b_charseq;
- X
- X if (!sequence) {
- X fprintf(stderr, "%s: No coding for char %d in %d font\n",
- X progname, troffChar, font);
- X return;
- X }
- X
- X /* We're committed now - the "if" statements avoid floating
- X arithmetic on slow machines */
- X
- X if (rp->t2b_scale) points *= (.01 * rp->t2b_scale);
- X if (rp->t2b_xc) nx += points * (.01 * rp->t2b_xc);
- X if (rp->t2b_yc) ny += points * (.01 * rp->t2b_yc);
- X
- X ljSetFont(font, points, rp->t2b_font, sequence);
- X
- X DBP((D_BEND,"AFTER (sequence,x,y,font,points) = (%s,%d,%d,%d,%d)\n",
- X sequence, nx, ny, font, points));
- X
- X/* Egads, I discovered that 42% of the time in troff2ps was spent
- X doing these damn conversions! */
- X
- X#define XYS "\033&a%dh%dV%s"
- X#define XS "\033&a%dH%s"
- X
- X if (lastYPos != ny) {
- X printf(XYS, nx, ny, sequence);
- X lastYPos = ny;
- X } else
- X printf(XS, nx, sequence);
- X}
- X
- XljProlog() {
- X extern char *ctime();
- X FILE *library;
- X int c;
- X register char *p;
- X
- X#ifndef LJF
- X LJF = mustmalloc(strlen(LIBDIR) + 5, "ljprolog");
- X sprintf(LJF, "%s/lj", LIBDIR);
- X#endif
- X
- X /* to ensure that the strings are long enough for indexing and
- X are sufficiently initialized */
- X
- X for (c = 0; fonttable[c].troffName; c++) {
- X register int i;
- X p = mustmalloc(20, "ljfontflags");
- X strncpy(p, fonttable[c].fontFlags, 16);
- X p[16] = '\0';
- X free(fonttable[c].fontFlags);
- X for (i = strlen(p); i < 16; i++)
- X p[i] = 'n';
- X fonttable[c].fontFlags = p;
- X }
- X
- X#if defined(INCR)
- X /* create empty downloaded-yet arrays */
- X for (c = 0; fonttable[c].troffName; c++) {
- X register int i;
- X for (i = 0, p = fonttable[c].fontFlags; *p; p++, i++)
- X#ifdef SFP
- X if (*p == 'p' || *p == 's') {
- X#else
- X if (*p == 'p') {
- X#endif
- X DBP((D_FONT, "Allocating font %d, size %d\n",
- X c, i));
- X if (!fonttable[c].map) {
- X fonttable[c].map = (struct downmaps *)
- X mustmalloc(sizeof(struct downmaps), "downmaps");
- X }
- X fonttable[c].map->nm[i] = (ETYP *) mustmalloc(ELEN *
- X sizeof(ETYP), "Nmaps");
- X fonttable[c].map->lastpage[i] = 0;
- X }
- X }
- X
- X#ifdef DEBUG
- X dumpmaps(1);
- X#endif
- X
- X#endif
- X
- X#if defined(PARTIAL)
- X /* create need-arrays */
- X for (c = 0; c < 108; c++)
- X if (ljStdFont[c].t2b_charseq != NOC)
- X for (p = ljStdFont[c].t2b_charseq; *p; p++)
- X addneedchar(ljStdFont[c].t2b_font, *p);
- X
- X for (c = 0; c < 108; c++)
- X if (ljSymFont[c].t2b_charseq != NOC)
- X for (p = ljSymFont[c].t2b_charseq; *p; p++)
- X addneedchar(ljSymFont[c].t2b_font, *p);
- X#endif
- X
- X#if defined(DEBUG) && defined(PARTIAL)
- X dumpmaps(0);
- X#endif
- X
- X currentPage = 0;
- X pagePending = 1;
- X
- X library = libopen(printer, "lib");
- X
- X ljXlate(library);
- X fclose(library);
- X doprologs();
- X}
- X
- XljEpilog() {
- X#if defined(INCR)
- X register struct fonttable *fp;
- X register int i;
- X /* delete fonts still active that we downloaded */
- X for (fp = fonttable; fp->troffName; fp++)
- X if (fp->map)
- X for (i = 0; i < 14; i++)
- X if (fp->map->pkfont[i])
- X printf("\033*c%dd2F", ((fp - fonttable) << 4) + i);
- X#endif
- X
- X#if defined(DEBUG) && defined(INCR)
- X dumpmaps(1);
- X#endif
- X}
- X
- X/* Copy the library file to the standard output, stripping
- X %line\n
- X %%%<something> is a metadirective
- X and converting \nnn and \xnn as you go.
- X Strip out line termination.
- X*/
- X
- XljXlate(library)
- XFILE *library; {
- X char buf[4];
- X int c, i;
- X c = getc(library);
- X while(!feof(library)) {
- X
- X nextchar:
- X
- X switch(c) {
- X case '%':
- X /* strip from percent sign to end of line */
- X /* If line is %%%<something> pass onto interp */
- X if (((c = getc(library)) == '%') &&
- X ((c = getc(library)) == '%')) {
- X char buf2[4];
- X sprintf(buf2, ".%s", be->bename);
- X fgets(buf, strlen(buf), library);
- X interp(buf, ljXlate, buf2);
- X break;
- X }
- X while ((c = getc(library)) != EOF && c != '\n');
- X break;
- X case '\n': /* throw away real newlines. */
- X break;
- X case '\\':
- X c = getc(library);
- X if (c == 'x' || c == 'X') {
- X i = 0;
- X while(1) {
- X c = getc(library);
- X
- X if (c == EOF || !((c >= '0' && c <= '9') ||
- X (c >= 'A' && c <= 'F') ||
- X (c >= 'a' && c <= 'f')))
- X goto nextchar;
- X
- X buf[i++] = c;
- X if (i == 2) {
- X buf[i] = '\0';
- X sscanf(buf, "%x", &i);
- X putchar(i);
- X i = 0;
- X }
- X }
- X } else {
- X buf[0] = c;
- X i = 1;
- X while(1) {
- X c = getc(library);
- X if (c == EOF || c < '0' || c > '7')
- X goto nextchar;
- X buf[i++] = c;
- X if (i == 3) {
- X buf[i] = '\0';
- X sscanf(buf, "%o", &i);
- X putchar(i);
- X i = 0;
- X }
- X }
- X }
- X /* NOTREACHED */
- X
- X case ' ': case '\t':
- X break;
- X
- X case EOF:
- X fprintf(stderr, "%s: Unexpected eof on ljlib\n", progname);
- X break;
- X
- X default:
- X putchar(c);
- X }
- X c = getc(library);
- X }
- X}
- X#endif
- END_OF_FILE
- if test 22044 -ne `wc -c <'lj.c'`; then
- echo shar: \"'lj.c'\" unpacked with wrong size!
- fi
- # end of 'lj.c'
- fi
- echo shar: End of archive 2 \(of 19\).
- cp /dev/null ark2isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 19 archives.
- echo "Read the README to get started with psroff installation"
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
-
- exit 0 # Just in case...
-